all: autogenerated update (2019-07-09)

Add:
- run/v1beta1

Update:
- androiddeviceprovisioning/v1
- cloudbilling/v1
- cloudiot/v1
- cloudprivatecatalogproducer/v1beta1
- iap/v1
- run/v1alpha1
- securitycenter/v1
- securitycenter/v1beta1
- tagmanager/v1
- tagmanager/v2
diff --git a/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json b/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json
index 4529fea..066e099 100644
--- a/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json
+++ b/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json
@@ -824,7 +824,7 @@
       }
     }
   },
-  "revision": "20190531",
+  "revision": "20190704",
   "rootUrl": "https://androiddeviceprovisioning.googleapis.com/",
   "schemas": {
     "ClaimDeviceRequest": {
@@ -896,7 +896,7 @@
       "id": "Company",
       "properties": {
         "adminEmails": {
-          "description": "Input only. Optional. Email address of customer's users in the admin role.\nEach email address must be associated with a Google Account.",
+          "description": "Optional. Input only. Email address of customer's users in the admin role.\nEach email address must be associated with a Google Account.",
           "items": {
             "type": "string"
           },
diff --git a/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go b/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go
index a2622b0..27a4c48 100644
--- a/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go
+++ b/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go
@@ -355,7 +355,7 @@
 // Company: A reseller, vendor, or customer in the zero-touch reseller
 // and customer APIs.
 type Company struct {
-	// AdminEmails: Input only. Optional. Email address of customer's users
+	// AdminEmails: Optional. Input only. Email address of customer's users
 	// in the admin role.
 	// Each email address must be associated with a Google Account.
 	AdminEmails []string `json:"adminEmails,omitempty"`
diff --git a/cloudbilling/v1/cloudbilling-api.json b/cloudbilling/v1/cloudbilling-api.json
index c7e8935..1c1245f 100644
--- a/cloudbilling/v1/cloudbilling-api.json
+++ b/cloudbilling/v1/cloudbilling-api.json
@@ -158,6 +158,12 @@
             "resource"
           ],
           "parameters": {
+            "options.requestedPolicyVersion": {
+              "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+              "format": "int32",
+              "location": "query",
+              "type": "integer"
+            },
             "resource": {
               "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
               "location": "path",
@@ -488,7 +494,7 @@
       }
     }
   },
-  "revision": "20190416",
+  "revision": "20190702",
   "rootUrl": "https://cloudbilling.googleapis.com/",
   "schemas": {
     "AggregationInfo": {
@@ -558,6 +564,10 @@
           },
           "type": "array"
         },
+        "ignoreChildExemptions": {
+          "description": "Specifies whether principals can be exempted for the same LogType in\nlower-level resource policies. If true, any lower-level exemptions will\nbe ignored.",
+          "type": "boolean"
+        },
         "logType": {
           "description": "The log type that this config enables.",
           "enum": [
diff --git a/cloudbilling/v1/cloudbilling-gen.go b/cloudbilling/v1/cloudbilling-gen.go
index 4c002ed..7f416ff 100644
--- a/cloudbilling/v1/cloudbilling-gen.go
+++ b/cloudbilling/v1/cloudbilling-gen.go
@@ -353,6 +353,13 @@
 	// Follows the same format of Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
+	// IgnoreChildExemptions: Specifies whether principals can be exempted
+	// for the same LogType in
+	// lower-level resource policies. If true, any lower-level exemptions
+	// will
+	// be ignored.
+	IgnoreChildExemptions bool `json:"ignoreChildExemptions,omitempty"`
+
 	// LogType: The log type that this config enables.
 	//
 	// Possible values:
@@ -1752,6 +1759,18 @@
 	return c
 }
 
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "options.requestedPolicyVersion": The policy format version to be
+// returned.
+// Acceptable values are 0 and 1.
+// If the value is 0, or the field is omitted, policy format version 1
+// will be
+// returned.
+func (c *BillingAccountsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *BillingAccountsGetIamPolicyCall {
+	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -1858,6 +1877,12 @@
 	//     "resource"
 	//   ],
 	//   "parameters": {
+	//     "options.requestedPolicyVersion": {
+	//       "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+	//       "format": "int32",
+	//       "location": "query",
+	//       "type": "integer"
+	//     },
 	//     "resource": {
 	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
diff --git a/cloudiot/v1/cloudiot-api.json b/cloudiot/v1/cloudiot-api.json
index 1066713..7416a18 100644
--- a/cloudiot/v1/cloudiot-api.json
+++ b/cloudiot/v1/cloudiot-api.json
@@ -927,7 +927,7 @@
       }
     }
   },
-  "revision": "20190605",
+  "revision": "20190702",
   "rootUrl": "https://cloudiot.googleapis.com/",
   "schemas": {
     "BindDeviceToGatewayRequest": {
@@ -1287,7 +1287,24 @@
     "GetIamPolicyRequest": {
       "description": "Request message for `GetIamPolicy` method.",
       "id": "GetIamPolicyRequest",
-      "properties": {},
+      "properties": {
+        "options": {
+          "$ref": "GetPolicyOptions",
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM."
+        }
+      },
+      "type": "object"
+    },
+    "GetPolicyOptions": {
+      "description": "Encapsulates settings provided to GetIamPolicy.",
+      "id": "GetPolicyOptions",
+      "properties": {
+        "requestedPolicyVersion": {
+          "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
       "type": "object"
     },
     "HttpConfig": {
diff --git a/cloudiot/v1/cloudiot-gen.go b/cloudiot/v1/cloudiot-gen.go
index 37acbfb..335286b 100644
--- a/cloudiot/v1/cloudiot-gen.go
+++ b/cloudiot/v1/cloudiot-gen.go
@@ -978,6 +978,67 @@
 
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
+	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
+	// to
+	// `GetIamPolicy`. This field is only used by Cloud IAM.
+	Options *GetPolicyOptions `json:"options,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Options") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Options") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
+	type NoMethod GetIamPolicyRequest
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
+type GetPolicyOptions struct {
+	// RequestedPolicyVersion: Optional. The policy format version to be
+	// returned.
+	// Acceptable values are 0 and 1.
+	// If the value is 0, or the field is omitted, policy format version 1
+	// will be
+	// returned.
+	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g.
+	// "RequestedPolicyVersion") to unconditionally include in API requests.
+	// By default, fields with empty values are omitted from API requests.
+	// However, any non-pointer, non-interface field appearing in
+	// ForceSendFields will be sent to the server regardless of whether the
+	// field is empty or not. This may be used to include empty fields in
+	// Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "RequestedPolicyVersion")
+	// to include in API requests with the JSON null value. By default,
+	// fields with empty values are omitted from API requests. However, any
+	// field with an empty value appearing in NullFields will be sent to the
+	// server as null. It is an error if a field in this list has a
+	// non-empty value. This may be used to include null fields in Patch
+	// requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) {
+	type NoMethod GetPolicyOptions
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
 // HttpConfig: The configuration of the HTTP bridge for a device
diff --git a/cloudprivatecatalogproducer/v1beta1/cloudprivatecatalogproducer-api.json b/cloudprivatecatalogproducer/v1beta1/cloudprivatecatalogproducer-api.json
index a44605a..1f24aff 100644
--- a/cloudprivatecatalogproducer/v1beta1/cloudprivatecatalogproducer-api.json
+++ b/cloudprivatecatalogproducer/v1beta1/cloudprivatecatalogproducer-api.json
@@ -188,6 +188,12 @@
             "resource"
           ],
           "parameters": {
+            "options.requestedPolicyVersion": {
+              "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+              "format": "int32",
+              "location": "query",
+              "type": "integer"
+            },
             "resource": {
               "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
               "location": "path",
@@ -967,7 +973,7 @@
       }
     }
   },
-  "revision": "20190531",
+  "revision": "20190704",
   "rootUrl": "https://cloudprivatecatalogproducer.googleapis.com/",
   "schemas": {
     "GoogleCloudPrivatecatalogproducerV1beta1Association": {
@@ -1206,7 +1212,7 @@
       "type": "object"
     },
     "GoogleIamV1AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:foo@gmail.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"fooservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:bar@gmail.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
       "id": "GoogleIamV1AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -1224,7 +1230,7 @@
       "type": "object"
     },
     "GoogleIamV1AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:foo@gmail.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
       "id": "GoogleIamV1AuditLogConfig",
       "properties": {
         "exemptedMembers": {
@@ -1234,6 +1240,10 @@
           },
           "type": "array"
         },
+        "ignoreChildExemptions": {
+          "description": "Specifies whether principals can be exempted for the same LogType in\nlower-level resource policies. If true, any lower-level exemptions will\nbe ignored.",
+          "type": "boolean"
+        },
         "logType": {
           "description": "The log type that this config enables.",
           "enum": [
@@ -1262,7 +1272,7 @@
           "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@gmail.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
           "items": {
             "type": "string"
           },
@@ -1294,7 +1304,7 @@
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten.",
           "format": "byte",
           "type": "string"
         },
diff --git a/cloudprivatecatalogproducer/v1beta1/cloudprivatecatalogproducer-gen.go b/cloudprivatecatalogproducer/v1beta1/cloudprivatecatalogproducer-gen.go
index ed3543e..62702f8 100644
--- a/cloudprivatecatalogproducer/v1beta1/cloudprivatecatalogproducer-gen.go
+++ b/cloudprivatecatalogproducer/v1beta1/cloudprivatecatalogproducer-gen.go
@@ -904,7 +904,7 @@
 //             {
 //               "log_type": "DATA_READ",
 //               "exempted_members": [
-//                 "user:foo@gmail.com"
+//                 "user:jose@example.com"
 //               ]
 //             },
 //             {
@@ -916,7 +916,7 @@
 //           ]
 //         },
 //         {
-//           "service": "fooservice.googleapis.com"
+//           "service": "sampleservice.googleapis.com"
 //           "audit_log_configs": [
 //             {
 //               "log_type": "DATA_READ",
@@ -924,7 +924,7 @@
 //             {
 //               "log_type": "DATA_WRITE",
 //               "exempted_members": [
-//                 "user:bar@gmail.com"
+//                 "user:aliya@example.com"
 //               ]
 //             }
 //           ]
@@ -932,11 +932,11 @@
 //       ]
 //     }
 //
-// For fooservice, this policy enables DATA_READ, DATA_WRITE and
+// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
 // ADMIN_READ
-// logging. It also exempts foo@gmail.com from DATA_READ logging,
+// logging. It also exempts jose@example.com from DATA_READ logging,
 // and
-// bar@gmail.com from DATA_WRITE logging.
+// aliya@example.com from DATA_WRITE logging.
 type GoogleIamV1AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
@@ -982,7 +982,7 @@
 //         {
 //           "log_type": "DATA_READ",
 //           "exempted_members": [
-//             "user:foo@gmail.com"
+//             "user:jose@example.com"
 //           ]
 //         },
 //         {
@@ -993,7 +993,7 @@
 //
 // This enables 'DATA_READ' and 'DATA_WRITE' logging, while
 // exempting
-// foo@gmail.com from DATA_READ logging.
+// jose@example.com from DATA_READ logging.
 type GoogleIamV1AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
 	// for this type of
@@ -1001,6 +1001,13 @@
 	// Follows the same format of Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
+	// IgnoreChildExemptions: Specifies whether principals can be exempted
+	// for the same LogType in
+	// lower-level resource policies. If true, any lower-level exemptions
+	// will
+	// be ignored.
+	IgnoreChildExemptions bool `json:"ignoreChildExemptions,omitempty"`
+
 	// LogType: The log type that this config enables.
 	//
 	// Possible values:
@@ -1058,7 +1065,7 @@
 	//
 	// * `user:{emailid}`: An email address that represents a specific
 	// Google
-	//    account. For example, `alice@gmail.com` .
+	//    account. For example, `alice@example.com` .
 	//
 	//
 	// * `serviceAccount:{emailid}`: An email address that represents a
@@ -1182,7 +1189,7 @@
 	//
 	// If no `etag` is provided in the call to `setIamPolicy`, then the
 	// existing
-	// policy is overwritten blindly.
+	// policy is overwritten.
 	Etag string `json:"etag,omitempty"`
 
 	// Version: Deprecated.
@@ -2009,6 +2016,18 @@
 	return c
 }
 
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "options.requestedPolicyVersion": The policy format version to be
+// returned.
+// Acceptable values are 0 and 1.
+// If the value is 0, or the field is omitted, policy format version 1
+// will be
+// returned.
+func (c *CatalogsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *CatalogsGetIamPolicyCall {
+	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -2115,6 +2134,12 @@
 	//     "resource"
 	//   ],
 	//   "parameters": {
+	//     "options.requestedPolicyVersion": {
+	//       "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+	//       "format": "int32",
+	//       "location": "query",
+	//       "type": "integer"
+	//     },
 	//     "resource": {
 	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
diff --git a/iap/v1/iap-api.json b/iap/v1/iap-api.json
index ad4be47..49cb843 100644
--- a/iap/v1/iap-api.json
+++ b/iap/v1/iap-api.json
@@ -193,7 +193,7 @@
       }
     }
   },
-  "revision": "20190628",
+  "revision": "20190704",
   "rootUrl": "https://iap.googleapis.com/",
   "schemas": {
     "Binding": {
@@ -205,7 +205,7 @@
           "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@gmail.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
           "items": {
             "type": "string"
           },
@@ -276,7 +276,7 @@
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten.",
           "format": "byte",
           "type": "string"
         },
diff --git a/iap/v1/iap-gen.go b/iap/v1/iap-gen.go
index 4a7c471..9405146 100644
--- a/iap/v1/iap-gen.go
+++ b/iap/v1/iap-gen.go
@@ -163,7 +163,7 @@
 	//
 	// * `user:{emailid}`: An email address that represents a specific
 	// Google
-	//    account. For example, `alice@gmail.com` .
+	//    account. For example, `alice@example.com` .
 	//
 	//
 	// * `serviceAccount:{emailid}`: An email address that represents a
@@ -402,7 +402,7 @@
 	//
 	// If no `etag` is provided in the call to `setIamPolicy`, then the
 	// existing
-	// policy is overwritten blindly.
+	// policy is overwritten.
 	Etag string `json:"etag,omitempty"`
 
 	// Version: Deprecated.
diff --git a/run/v1alpha1/run-api.json b/run/v1alpha1/run-api.json
index 1ddc16b..2a34baa 100644
--- a/run/v1alpha1/run-api.json
+++ b/run/v1alpha1/run-api.json
@@ -1857,6 +1857,12 @@
                     "resource"
                   ],
                   "parameters": {
+                    "options.requestedPolicyVersion": {
+                      "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
                     "resource": {
                       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
                       "location": "path",
@@ -2211,7 +2217,7 @@
       }
     }
   },
-  "revision": "20190624",
+  "revision": "20190701",
   "rootUrl": "https://run.googleapis.com/",
   "schemas": {
     "Addressable": {
@@ -2381,7 +2387,7 @@
       "id": "Configuration",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "kind": {
@@ -2450,7 +2456,7 @@
         },
         "template": {
           "$ref": "RevisionTemplate",
-          "description": "Template holds the latest specification for the Revision to be stamped out.\nNot currently supported by Cloud Run."
+          "description": "Template holds the latest specification for the Revision to be stamped out."
         }
       },
       "type": "object"
@@ -2628,7 +2634,7 @@
       "id": "DomainMapping",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"domains.cloudrun.com/v1alpha1\".",
           "type": "string"
         },
         "kind": {
@@ -2785,7 +2791,7 @@
       "id": "EventType",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"eventing.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "kind": {
@@ -3031,7 +3037,7 @@
       "id": "ListConfigurationsResponse",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "items": {
@@ -3064,7 +3070,7 @@
       "id": "ListDomainMappingsResponse",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"domains.cloudrun.com/v1alpha1\".",
           "type": "string"
         },
         "items": {
@@ -3090,7 +3096,7 @@
       "id": "ListEventTypesResponse",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"eventing.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "items": {
@@ -3160,7 +3166,7 @@
       "id": "ListRevisionsResponse",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "items": {
@@ -3193,7 +3199,7 @@
       "id": "ListRoutesResponse",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "items": {
@@ -3226,7 +3232,7 @@
       "id": "ListServicesResponse",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "items": {
@@ -3259,7 +3265,7 @@
       "id": "ListTriggersResponse",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"eventing.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "items": {
@@ -3634,7 +3640,7 @@
       "id": "Revision",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "kind": {
@@ -3788,7 +3794,7 @@
       "properties": {
         "metadata": {
           "$ref": "ObjectMeta",
-          "description": "Optional metadata for this Revision, including labels and annotations. Name\nwill be generated by the Configuration."
+          "description": "Optional metadata for this Revision, including labels and annotations. Name\nwill be generated by the Configuration.\nTo set minimum instances for this revision, use the\n\"autoscaling.knative.dev/minScale\" annotation key. (Cloud Run on GKE only).\nTo set maximum instances for this revision, use the\n\"autoscaling.knative.dev/maxScale\" annotation key.\nTo set Cloud SQL connections for the revision, use the\n\"run.googleapis.com/cloudsql-instances\" annotation key. Values should be\ncomma separated."
         },
         "spec": {
           "$ref": "RevisionSpec",
@@ -3802,7 +3808,7 @@
       "id": "Route",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "kind": {
@@ -4028,7 +4034,7 @@
       "id": "Service",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "kind": {
@@ -4109,10 +4115,10 @@
         },
         "template": {
           "$ref": "RevisionTemplate",
-          "description": "Template holds the latest specification for the Revision to\nbe stamped out.\n\nNot currently supported by Cloud Run."
+          "description": "Template holds the latest specification for the Revision to\nbe stamped out."
         },
         "traffic": {
-          "description": "Traffic specifies how to distribute traffic over a collection of Knative\nRevisions and Configurations. This will replace existing service specs\n(ServiceSpecRunLatest, ServiceSpecPinnedType, ServiceSpecReleaseType, and\nServiceSpecManualType).\n\nNot currently supported by Cloud Run.",
+          "description": "Traffic specifies how to distribute traffic over a collection of Knative\nRevisions and Configurations.",
           "items": {
             "$ref": "TrafficTarget"
           },
@@ -4335,7 +4341,7 @@
       "id": "Trigger",
       "properties": {
         "apiVersion": {
-          "description": "The API version for this call such as \"v1alpha1\".",
+          "description": "The API version for this call such as \"eventing.knative.dev/v1alpha1\".",
           "type": "string"
         },
         "kind": {
diff --git a/run/v1alpha1/run-gen.go b/run/v1alpha1/run-gen.go
index efc130b..e2e4f09 100644
--- a/run/v1alpha1/run-gen.go
+++ b/run/v1alpha1/run-gen.go
@@ -795,7 +795,8 @@
 // https://github.com/knative/serving/blob/master/docs/spec/overvie
 // w.md#configuration
 type Configuration struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "serving.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Kind: The kind of resource, in this case always "Configuration".
@@ -936,7 +937,6 @@
 
 	// Template: Template holds the latest specification for the Revision to
 	// be stamped out.
-	// Not currently supported by Cloud Run.
 	Template *RevisionTemplate `json:"template,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Generation") to
@@ -1330,7 +1330,8 @@
 // DomainMapping: Resource to hold the state and status of a user's
 // domain mapping.
 type DomainMapping struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "domains.cloudrun.com/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Kind: The kind of resource, in this case "DomainMapping".
@@ -1629,7 +1630,8 @@
 }
 
 type EventType struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "eventing.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Kind: The kind of resource, in this case "EventType".
@@ -2179,7 +2181,8 @@
 // ListConfigurationsResponse: ListConfigurationsResponse is a list of
 // Configuration resources.
 type ListConfigurationsResponse struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "serving.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Items: List of Configurations.
@@ -2224,7 +2227,8 @@
 // ListDomainMappingsResponse: ListDomainMappingsResponse is a list of
 // DomainMapping resources.
 type ListDomainMappingsResponse struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "domains.cloudrun.com/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Items: List of DomainMappings.
@@ -2266,7 +2270,8 @@
 // ListEventTypesResponse: ListEventTypesResponse is a list of EventType
 // resources.
 type ListEventTypesResponse struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "eventing.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Items: List of EventTypes.
@@ -2415,7 +2420,8 @@
 // ListRevisionsResponse: ListRevisionsResponse is a list of Revision
 // resources.
 type ListRevisionsResponse struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "serving.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Items: List of Revisions.
@@ -2459,7 +2465,8 @@
 
 // ListRoutesResponse: ListRoutesResponse is a list of Route resources.
 type ListRoutesResponse struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "serving.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Items: List of Routes.
@@ -2503,7 +2510,8 @@
 
 // ListServicesResponse: A list of Service resources.
 type ListServicesResponse struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "serving.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Items: List of Services.
@@ -2548,7 +2556,8 @@
 // ListTriggersResponse: ListTriggersResponse is a list of Trigger
 // resources.
 type ListTriggersResponse struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "eventing.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Items: List of Triggers.
@@ -3437,7 +3446,8 @@
 // https://github.com/knative/serving/blob/master/docs/spec/overvie
 // w.md#revision
 type Revision struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "serving.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Kind: The kind of this resource, in this case "Revision".
@@ -3745,6 +3755,18 @@
 	// Metadata: Optional metadata for this Revision, including labels and
 	// annotations. Name
 	// will be generated by the Configuration.
+	// To set minimum instances for this revision, use
+	// the
+	// "autoscaling.knative.dev/minScale" annotation key. (Cloud Run on GKE
+	// only).
+	// To set maximum instances for this revision, use
+	// the
+	// "autoscaling.knative.dev/maxScale" annotation key.
+	// To set Cloud SQL connections for the revision, use
+	// the
+	// "run.googleapis.com/cloudsql-instances" annotation key. Values should
+	// be
+	// comma separated.
 	Metadata *ObjectMeta `json:"metadata,omitempty"`
 
 	// Spec: RevisionSpec holds the desired state of the Revision (from the
@@ -3794,7 +3816,8 @@
 // automatically deploy the "latest ready" Revision from that
 // Configuration.
 type Route struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "serving.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Kind: The kind of this resource, in this case always "Route".
@@ -4294,7 +4317,8 @@
 // https://github.com/knative/serving/blob/master/docs/spec/overvie
 // w.md#service
 type Service struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "serving.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Kind: The kind of resource, in this case "Service".
@@ -4449,19 +4473,11 @@
 	// Template: Template holds the latest specification for the Revision
 	// to
 	// be stamped out.
-	//
-	// Not currently supported by Cloud Run.
 	Template *RevisionTemplate `json:"template,omitempty"`
 
 	// Traffic: Traffic specifies how to distribute traffic over a
 	// collection of Knative
-	// Revisions and Configurations. This will replace existing service
-	// specs
-	// (ServiceSpecRunLatest, ServiceSpecPinnedType, ServiceSpecReleaseType,
-	// and
-	// ServiceSpecManualType).
-	//
-	// Not currently supported by Cloud Run.
+	// Revisions and Configurations.
 	Traffic []*TrafficTarget `json:"traffic,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Generation") to
@@ -4992,7 +5008,8 @@
 }
 
 type Trigger struct {
-	// ApiVersion: The API version for this call such as "v1alpha1".
+	// ApiVersion: The API version for this call such as
+	// "eventing.knative.dev/v1alpha1".
 	ApiVersion string `json:"apiVersion,omitempty"`
 
 	// Kind: The kind of resource, in this case "Trigger".
@@ -12934,6 +12951,18 @@
 	return c
 }
 
+// OptionsRequestedPolicyVersion sets the optional parameter
+// "options.requestedPolicyVersion": The policy format version to be
+// returned.
+// Acceptable values are 0 and 1.
+// If the value is 0, or the field is omitted, policy format version 1
+// will be
+// returned.
+func (c *ProjectsLocationsServicesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsServicesGetIamPolicyCall {
+	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -13040,6 +13069,12 @@
 	//     "resource"
 	//   ],
 	//   "parameters": {
+	//     "options.requestedPolicyVersion": {
+	//       "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+	//       "format": "int32",
+	//       "location": "query",
+	//       "type": "integer"
+	//     },
 	//     "resource": {
 	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
diff --git a/run/v1beta1/run-api.json b/run/v1beta1/run-api.json
new file mode 100644
index 0000000..122c512
--- /dev/null
+++ b/run/v1beta1/run-api.json
@@ -0,0 +1,217 @@
+{
+  "auth": {
+    "oauth2": {
+      "scopes": {
+        "https://www.googleapis.com/auth/cloud-platform": {
+          "description": "View and manage your data across Google Cloud Platform services"
+        }
+      }
+    }
+  },
+  "basePath": "",
+  "baseUrl": "https://run.googleapis.com/",
+  "batchPath": "batch",
+  "canonicalName": "Cloud Run",
+  "description": "Deploy and manage user provided container images that scale automatically based on HTTP traffic.",
+  "discoveryVersion": "v1",
+  "documentationLink": "https://cloud.google.com/run/",
+  "fullyEncodeReservedExpansion": true,
+  "icons": {
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
+  },
+  "id": "run:v1beta1",
+  "kind": "discovery#restDescription",
+  "name": "run",
+  "ownerDomain": "google.com",
+  "ownerName": "Google",
+  "parameters": {
+    "$.xgafv": {
+      "description": "V1 error format.",
+      "enum": [
+        "1",
+        "2"
+      ],
+      "enumDescriptions": [
+        "v1 error format",
+        "v2 error format"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "access_token": {
+      "description": "OAuth access token.",
+      "location": "query",
+      "type": "string"
+    },
+    "alt": {
+      "default": "json",
+      "description": "Data format for response.",
+      "enum": [
+        "json",
+        "media",
+        "proto"
+      ],
+      "enumDescriptions": [
+        "Responses with Content-Type of application/json",
+        "Media download with context-dependent Content-Type",
+        "Responses with Content-Type of application/x-protobuf"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "callback": {
+      "description": "JSONP",
+      "location": "query",
+      "type": "string"
+    },
+    "fields": {
+      "description": "Selector specifying which fields to include in a partial response.",
+      "location": "query",
+      "type": "string"
+    },
+    "key": {
+      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
+      "location": "query",
+      "type": "string"
+    },
+    "oauth_token": {
+      "description": "OAuth 2.0 token for the current user.",
+      "location": "query",
+      "type": "string"
+    },
+    "prettyPrint": {
+      "default": "true",
+      "description": "Returns response with indentations and line breaks.",
+      "location": "query",
+      "type": "boolean"
+    },
+    "quotaUser": {
+      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
+      "location": "query",
+      "type": "string"
+    },
+    "uploadType": {
+      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    },
+    "upload_protocol": {
+      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    }
+  },
+  "protocol": "rest",
+  "resources": {
+    "projects": {
+      "resources": {
+        "locations": {
+          "methods": {
+            "list": {
+              "description": "Lists information about the supported locations for this service.",
+              "flatPath": "v1beta1/projects/{projectsId}/locations",
+              "httpMethod": "GET",
+              "id": "run.projects.locations.list",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "filter": {
+                  "description": "The standard list filter.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The resource that owns the locations collection, if applicable.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "pageSize": {
+                  "description": "The standard list page size.",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "The standard list page token.",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v1beta1/{+name}/locations",
+              "response": {
+                "$ref": "ListLocationsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            }
+          }
+        }
+      }
+    }
+  },
+  "revision": "20190701",
+  "rootUrl": "https://run.googleapis.com/",
+  "schemas": {
+    "ListLocationsResponse": {
+      "description": "The response message for Locations.ListLocations.",
+      "id": "ListLocationsResponse",
+      "properties": {
+        "locations": {
+          "description": "A list of locations that matches the specified filter in the request.",
+          "items": {
+            "$ref": "Location"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "The standard List next-page token.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Location": {
+      "description": "A resource that represents Google Cloud Platform location.",
+      "id": "Location",
+      "properties": {
+        "displayName": {
+          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
+          "type": "string"
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "type": "object"
+        },
+        "locationId": {
+          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
+          "type": "string"
+        },
+        "metadata": {
+          "additionalProperties": {
+            "description": "Properties of the object. Contains field @type with type URL.",
+            "type": "any"
+          },
+          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
+          "type": "object"
+        },
+        "name": {
+          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    }
+  },
+  "servicePath": "",
+  "title": "Cloud Run API",
+  "version": "v1beta1",
+  "version_module": true
+}
\ No newline at end of file
diff --git a/run/v1beta1/run-gen.go b/run/v1beta1/run-gen.go
new file mode 100644
index 0000000..2ac6f97
--- /dev/null
+++ b/run/v1beta1/run-gen.go
@@ -0,0 +1,440 @@
+// Copyright 2019 Google LLC.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Code generated file. DO NOT EDIT.
+
+// Package run provides access to the Cloud Run API.
+//
+// For product documentation, see: https://cloud.google.com/run/
+//
+// Creating a client
+//
+// Usage example:
+//
+//   import "google.golang.org/api/run/v1beta1"
+//   ...
+//   ctx := context.Background()
+//   runService, err := run.NewService(ctx)
+//
+// In this example, Google Application Default Credentials are used for authentication.
+//
+// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
+//
+// Other authentication options
+//
+// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
+//
+//   runService, err := run.NewService(ctx, option.WithAPIKey("AIza..."))
+//
+// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
+//
+//   config := &oauth2.Config{...}
+//   // ...
+//   token, err := config.Exchange(ctx, ...)
+//   runService, err := run.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
+//
+// See https://godoc.org/google.golang.org/api/option/ for details on options.
+package run // import "google.golang.org/api/run/v1beta1"
+
+import (
+	"bytes"
+	"context"
+	"encoding/json"
+	"errors"
+	"fmt"
+	"io"
+	"net/http"
+	"net/url"
+	"strconv"
+	"strings"
+
+	gensupport "google.golang.org/api/gensupport"
+	googleapi "google.golang.org/api/googleapi"
+	option "google.golang.org/api/option"
+	htransport "google.golang.org/api/transport/http"
+)
+
+// Always reference these packages, just in case the auto-generated code
+// below doesn't.
+var _ = bytes.NewBuffer
+var _ = strconv.Itoa
+var _ = fmt.Sprintf
+var _ = json.NewDecoder
+var _ = io.Copy
+var _ = url.Parse
+var _ = gensupport.MarshalJSON
+var _ = googleapi.Version
+var _ = errors.New
+var _ = strings.Replace
+var _ = context.Canceled
+
+const apiId = "run:v1beta1"
+const apiName = "run"
+const apiVersion = "v1beta1"
+const basePath = "https://run.googleapis.com/"
+
+// OAuth2 scopes used by this API.
+const (
+	// View and manage your data across Google Cloud Platform services
+	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
+)
+
+// NewService creates a new Service.
+func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
+	scopesOption := option.WithScopes(
+		"https://www.googleapis.com/auth/cloud-platform",
+	)
+	// NOTE: prepend, so we don't override user-specified scopes.
+	opts = append([]option.ClientOption{scopesOption}, opts...)
+	client, endpoint, err := htransport.NewClient(ctx, opts...)
+	if err != nil {
+		return nil, err
+	}
+	s, err := New(client)
+	if err != nil {
+		return nil, err
+	}
+	if endpoint != "" {
+		s.BasePath = endpoint
+	}
+	return s, nil
+}
+
+// New creates a new Service. It uses the provided http.Client for requests.
+//
+// Deprecated: please use NewService instead.
+// To provide a custom HTTP client, use option.WithHTTPClient.
+// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
+func New(client *http.Client) (*Service, error) {
+	if client == nil {
+		return nil, errors.New("client is nil")
+	}
+	s := &Service{client: client, BasePath: basePath}
+	s.Projects = NewProjectsService(s)
+	return s, nil
+}
+
+type Service struct {
+	client    *http.Client
+	BasePath  string // API endpoint base URL
+	UserAgent string // optional additional User-Agent fragment
+
+	Projects *ProjectsService
+}
+
+func (s *Service) userAgent() string {
+	if s.UserAgent == "" {
+		return googleapi.UserAgent
+	}
+	return googleapi.UserAgent + " " + s.UserAgent
+}
+
+func NewProjectsService(s *Service) *ProjectsService {
+	rs := &ProjectsService{s: s}
+	rs.Locations = NewProjectsLocationsService(s)
+	return rs
+}
+
+type ProjectsService struct {
+	s *Service
+
+	Locations *ProjectsLocationsService
+}
+
+func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
+	rs := &ProjectsLocationsService{s: s}
+	return rs
+}
+
+type ProjectsLocationsService struct {
+	s *Service
+}
+
+// ListLocationsResponse: The response message for
+// Locations.ListLocations.
+type ListLocationsResponse struct {
+	// Locations: A list of locations that matches the specified filter in
+	// the request.
+	Locations []*Location `json:"locations,omitempty"`
+
+	// NextPageToken: The standard List next-page token.
+	NextPageToken string `json:"nextPageToken,omitempty"`
+
+	// ServerResponse contains the HTTP response code and headers from the
+	// server.
+	googleapi.ServerResponse `json:"-"`
+
+	// ForceSendFields is a list of field names (e.g. "Locations") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Locations") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
+	type NoMethod ListLocationsResponse
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// Location: A resource that represents Google Cloud Platform location.
+type Location struct {
+	// DisplayName: The friendly name for this location, typically a nearby
+	// city name.
+	// For example, "Tokyo".
+	DisplayName string `json:"displayName,omitempty"`
+
+	// Labels: Cross-service attributes for the location. For example
+	//
+	//     {"cloud.googleapis.com/region": "us-east1"}
+	Labels map[string]string `json:"labels,omitempty"`
+
+	// LocationId: The canonical id for this location. For example:
+	// "us-east1".
+	LocationId string `json:"locationId,omitempty"`
+
+	// Metadata: Service-specific metadata. For example the available
+	// capacity at the given
+	// location.
+	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
+
+	// Name: Resource name for the location, which may vary between
+	// implementations.
+	// For example: "projects/example-project/locations/us-east1"
+	Name string `json:"name,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "DisplayName") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "DisplayName") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *Location) MarshalJSON() ([]byte, error) {
+	type NoMethod Location
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// method id "run.projects.locations.list":
+
+type ProjectsLocationsListCall struct {
+	s            *Service
+	name         string
+	urlParams_   gensupport.URLParams
+	ifNoneMatch_ string
+	ctx_         context.Context
+	header_      http.Header
+}
+
+// List: Lists information about the supported locations for this
+// service.
+func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
+	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+	c.name = name
+	return c
+}
+
+// Filter sets the optional parameter "filter": The standard list
+// filter.
+func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
+	c.urlParams_.Set("filter", filter)
+	return c
+}
+
+// PageSize sets the optional parameter "pageSize": The standard list
+// page size.
+func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
+	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
+	return c
+}
+
+// PageToken sets the optional parameter "pageToken": The standard list
+// page token.
+func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
+	c.urlParams_.Set("pageToken", pageToken)
+	return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
+	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
+	c.ifNoneMatch_ = entityTag
+	return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
+	c.ctx_ = ctx
+	return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsLocationsListCall) Header() http.Header {
+	if c.header_ == nil {
+		c.header_ = make(http.Header)
+	}
+	return c.header_
+}
+
+func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
+	reqHeaders := make(http.Header)
+	for k, v := range c.header_ {
+		reqHeaders[k] = v
+	}
+	reqHeaders.Set("User-Agent", c.s.userAgent())
+	if c.ifNoneMatch_ != "" {
+		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+	}
+	var body io.Reader = nil
+	c.urlParams_.Set("alt", alt)
+	c.urlParams_.Set("prettyPrint", "false")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/locations")
+	urls += "?" + c.urlParams_.Encode()
+	req, err := http.NewRequest("GET", urls, body)
+	if err != nil {
+		return nil, err
+	}
+	req.Header = reqHeaders
+	googleapi.Expand(req.URL, map[string]string{
+		"name": c.name,
+	})
+	return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "run.projects.locations.list" call.
+// Exactly one of *ListLocationsResponse or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *ListLocationsResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
+	gensupport.SetOptions(c.urlParams_, opts...)
+	res, err := c.doRequest("json")
+	if res != nil && res.StatusCode == http.StatusNotModified {
+		if res.Body != nil {
+			res.Body.Close()
+		}
+		return nil, &googleapi.Error{
+			Code:   res.StatusCode,
+			Header: res.Header,
+		}
+	}
+	if err != nil {
+		return nil, err
+	}
+	defer googleapi.CloseBody(res)
+	if err := googleapi.CheckResponse(res); err != nil {
+		return nil, err
+	}
+	ret := &ListLocationsResponse{
+		ServerResponse: googleapi.ServerResponse{
+			Header:         res.Header,
+			HTTPStatusCode: res.StatusCode,
+		},
+	}
+	target := &ret
+	if err := gensupport.DecodeResponse(target, res); err != nil {
+		return nil, err
+	}
+	return ret, nil
+	// {
+	//   "description": "Lists information about the supported locations for this service.",
+	//   "flatPath": "v1beta1/projects/{projectsId}/locations",
+	//   "httpMethod": "GET",
+	//   "id": "run.projects.locations.list",
+	//   "parameterOrder": [
+	//     "name"
+	//   ],
+	//   "parameters": {
+	//     "filter": {
+	//       "description": "The standard list filter.",
+	//       "location": "query",
+	//       "type": "string"
+	//     },
+	//     "name": {
+	//       "description": "The resource that owns the locations collection, if applicable.",
+	//       "location": "path",
+	//       "pattern": "^projects/[^/]+$",
+	//       "required": true,
+	//       "type": "string"
+	//     },
+	//     "pageSize": {
+	//       "description": "The standard list page size.",
+	//       "format": "int32",
+	//       "location": "query",
+	//       "type": "integer"
+	//     },
+	//     "pageToken": {
+	//       "description": "The standard list page token.",
+	//       "location": "query",
+	//       "type": "string"
+	//     }
+	//   },
+	//   "path": "v1beta1/{+name}/locations",
+	//   "response": {
+	//     "$ref": "ListLocationsResponse"
+	//   },
+	//   "scopes": [
+	//     "https://www.googleapis.com/auth/cloud-platform"
+	//   ]
+	// }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
+	c.ctx_ = ctx
+	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+	for {
+		x, err := c.Do()
+		if err != nil {
+			return err
+		}
+		if err := f(x); err != nil {
+			return err
+		}
+		if x.NextPageToken == "" {
+			return nil
+		}
+		c.PageToken(x.NextPageToken)
+	}
+}
diff --git a/securitycenter/v1/securitycenter-api.json b/securitycenter/v1/securitycenter-api.json
index 66e7697..613ba28 100644
--- a/securitycenter/v1/securitycenter-api.json
+++ b/securitycenter/v1/securitycenter-api.json
@@ -898,7 +898,7 @@
       }
     }
   },
-  "revision": "20190628",
+  "revision": "20190704",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Asset": {
@@ -970,7 +970,7 @@
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:foo@gmail.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"fooservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:bar@gmail.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -988,7 +988,7 @@
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:foo@gmail.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
@@ -998,6 +998,10 @@
           },
           "type": "array"
         },
+        "ignoreChildExemptions": {
+          "description": "Specifies whether principals can be exempted for the same LogType in\nlower-level resource policies. If true, any lower-level exemptions will\nbe ignored.",
+          "type": "boolean"
+        },
         "logType": {
           "description": "The log type that this config enables.",
           "enum": [
@@ -1026,7 +1030,7 @@
           "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@gmail.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
           "items": {
             "type": "string"
           },
@@ -1584,7 +1588,7 @@
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten.",
           "format": "byte",
           "type": "string"
         },
diff --git a/securitycenter/v1/securitycenter-gen.go b/securitycenter/v1/securitycenter-gen.go
index 7ffc784..3cc8973 100644
--- a/securitycenter/v1/securitycenter-gen.go
+++ b/securitycenter/v1/securitycenter-gen.go
@@ -325,7 +325,7 @@
 //             {
 //               "log_type": "DATA_READ",
 //               "exempted_members": [
-//                 "user:foo@gmail.com"
+//                 "user:jose@example.com"
 //               ]
 //             },
 //             {
@@ -337,7 +337,7 @@
 //           ]
 //         },
 //         {
-//           "service": "fooservice.googleapis.com"
+//           "service": "sampleservice.googleapis.com"
 //           "audit_log_configs": [
 //             {
 //               "log_type": "DATA_READ",
@@ -345,7 +345,7 @@
 //             {
 //               "log_type": "DATA_WRITE",
 //               "exempted_members": [
-//                 "user:bar@gmail.com"
+//                 "user:aliya@example.com"
 //               ]
 //             }
 //           ]
@@ -353,11 +353,11 @@
 //       ]
 //     }
 //
-// For fooservice, this policy enables DATA_READ, DATA_WRITE and
+// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
 // ADMIN_READ
-// logging. It also exempts foo@gmail.com from DATA_READ logging,
+// logging. It also exempts jose@example.com from DATA_READ logging,
 // and
-// bar@gmail.com from DATA_WRITE logging.
+// aliya@example.com from DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
@@ -403,7 +403,7 @@
 //         {
 //           "log_type": "DATA_READ",
 //           "exempted_members": [
-//             "user:foo@gmail.com"
+//             "user:jose@example.com"
 //           ]
 //         },
 //         {
@@ -414,7 +414,7 @@
 //
 // This enables 'DATA_READ' and 'DATA_WRITE' logging, while
 // exempting
-// foo@gmail.com from DATA_READ logging.
+// jose@example.com from DATA_READ logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
 	// for this type of
@@ -422,6 +422,13 @@
 	// Follows the same format of Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
+	// IgnoreChildExemptions: Specifies whether principals can be exempted
+	// for the same LogType in
+	// lower-level resource policies. If true, any lower-level exemptions
+	// will
+	// be ignored.
+	IgnoreChildExemptions bool `json:"ignoreChildExemptions,omitempty"`
+
 	// LogType: The log type that this config enables.
 	//
 	// Possible values:
@@ -479,7 +486,7 @@
 	//
 	// * `user:{emailid}`: An email address that represents a specific
 	// Google
-	//    account. For example, `alice@gmail.com` .
+	//    account. For example, `alice@example.com` .
 	//
 	//
 	// * `serviceAccount:{emailid}`: An email address that represents a
@@ -1781,7 +1788,7 @@
 	//
 	// If no `etag` is provided in the call to `setIamPolicy`, then the
 	// existing
-	// policy is overwritten blindly.
+	// policy is overwritten.
 	Etag string `json:"etag,omitempty"`
 
 	// Version: Deprecated.
diff --git a/securitycenter/v1beta1/securitycenter-api.json b/securitycenter/v1beta1/securitycenter-api.json
index 4281112..015dd6d 100644
--- a/securitycenter/v1beta1/securitycenter-api.json
+++ b/securitycenter/v1beta1/securitycenter-api.json
@@ -895,7 +895,7 @@
       }
     }
   },
-  "revision": "20190628",
+  "revision": "20190704",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Asset": {
@@ -963,7 +963,7 @@
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:foo@gmail.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"fooservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:bar@gmail.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -981,7 +981,7 @@
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:foo@gmail.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
@@ -991,6 +991,10 @@
           },
           "type": "array"
         },
+        "ignoreChildExemptions": {
+          "description": "Specifies whether principals can be exempted for the same LogType in\nlower-level resource policies. If true, any lower-level exemptions will\nbe ignored.",
+          "type": "boolean"
+        },
         "logType": {
           "description": "The log type that this config enables.",
           "enum": [
@@ -1019,7 +1023,7 @@
           "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@gmail.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
           "items": {
             "type": "string"
           },
@@ -1530,7 +1534,7 @@
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten.",
           "format": "byte",
           "type": "string"
         },
diff --git a/securitycenter/v1beta1/securitycenter-gen.go b/securitycenter/v1beta1/securitycenter-gen.go
index 2ded75e..674423d 100644
--- a/securitycenter/v1beta1/securitycenter-gen.go
+++ b/securitycenter/v1beta1/securitycenter-gen.go
@@ -318,7 +318,7 @@
 //             {
 //               "log_type": "DATA_READ",
 //               "exempted_members": [
-//                 "user:foo@gmail.com"
+//                 "user:jose@example.com"
 //               ]
 //             },
 //             {
@@ -330,7 +330,7 @@
 //           ]
 //         },
 //         {
-//           "service": "fooservice.googleapis.com"
+//           "service": "sampleservice.googleapis.com"
 //           "audit_log_configs": [
 //             {
 //               "log_type": "DATA_READ",
@@ -338,7 +338,7 @@
 //             {
 //               "log_type": "DATA_WRITE",
 //               "exempted_members": [
-//                 "user:bar@gmail.com"
+//                 "user:aliya@example.com"
 //               ]
 //             }
 //           ]
@@ -346,11 +346,11 @@
 //       ]
 //     }
 //
-// For fooservice, this policy enables DATA_READ, DATA_WRITE and
+// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
 // ADMIN_READ
-// logging. It also exempts foo@gmail.com from DATA_READ logging,
+// logging. It also exempts jose@example.com from DATA_READ logging,
 // and
-// bar@gmail.com from DATA_WRITE logging.
+// aliya@example.com from DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
@@ -396,7 +396,7 @@
 //         {
 //           "log_type": "DATA_READ",
 //           "exempted_members": [
-//             "user:foo@gmail.com"
+//             "user:jose@example.com"
 //           ]
 //         },
 //         {
@@ -407,7 +407,7 @@
 //
 // This enables 'DATA_READ' and 'DATA_WRITE' logging, while
 // exempting
-// foo@gmail.com from DATA_READ logging.
+// jose@example.com from DATA_READ logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
 	// for this type of
@@ -415,6 +415,13 @@
 	// Follows the same format of Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
+	// IgnoreChildExemptions: Specifies whether principals can be exempted
+	// for the same LogType in
+	// lower-level resource policies. If true, any lower-level exemptions
+	// will
+	// be ignored.
+	IgnoreChildExemptions bool `json:"ignoreChildExemptions,omitempty"`
+
 	// LogType: The log type that this config enables.
 	//
 	// Possible values:
@@ -472,7 +479,7 @@
 	//
 	// * `user:{emailid}`: An email address that represents a specific
 	// Google
-	//    account. For example, `alice@gmail.com` .
+	//    account. For example, `alice@example.com` .
 	//
 	//
 	// * `serviceAccount:{emailid}`: An email address that represents a
@@ -1605,7 +1612,7 @@
 	//
 	// If no `etag` is provided in the call to `setIamPolicy`, then the
 	// existing
-	// policy is overwritten blindly.
+	// policy is overwritten.
 	Etag string `json:"etag,omitempty"`
 
 	// Version: Deprecated.
diff --git a/tagmanager/v1/tagmanager-api.json b/tagmanager/v1/tagmanager-api.json
index a4de42f..c1e6697 100644
--- a/tagmanager/v1/tagmanager-api.json
+++ b/tagmanager/v1/tagmanager-api.json
@@ -26,17 +26,16 @@
       }
     }
   },
-  "basePath": "/tagmanager/v1/",
-  "baseUrl": "https://www.googleapis.com/tagmanager/v1/",
-  "batchPath": "batch/tagmanager/v1",
+  "basePath": "",
+  "baseUrl": "https://www.googleapis.com/",
+  "batchPath": "batch",
   "canonicalName": "Tag Manager",
-  "description": "Accesses Tag Manager accounts and containers.",
+  "description": "This API allows clients to access and modify container and tag\n     configuration.",
   "discoveryVersion": "v1",
-  "documentationLink": "https://developers.google.com/tag-manager/api/v1/",
-  "etag": "\"9eZ1uxVRThTDhLJCZHhqs3eQWz4/zCKQQSYtFiBn9FkknoRWdzQYCqs\"",
+  "documentationLink": "https://developers.google.com/tag-manager",
   "icons": {
-    "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
-    "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
   },
   "id": "tagmanager:v1",
   "kind": "discovery#restDescription",
@@ -44,18 +43,45 @@
   "ownerDomain": "google.com",
   "ownerName": "Google",
   "parameters": {
-    "alt": {
-      "default": "json",
-      "description": "Data format for the response.",
+    "$.xgafv": {
+      "description": "V1 error format.",
       "enum": [
-        "json"
+        "1",
+        "2"
       ],
       "enumDescriptions": [
-        "Responses with Content-Type of application/json"
+        "v1 error format",
+        "v2 error format"
       ],
       "location": "query",
       "type": "string"
     },
+    "access_token": {
+      "description": "OAuth access token.",
+      "location": "query",
+      "type": "string"
+    },
+    "alt": {
+      "default": "json",
+      "description": "Data format for response.",
+      "enum": [
+        "json",
+        "media",
+        "proto"
+      ],
+      "enumDescriptions": [
+        "Responses with Content-Type of application/json",
+        "Media download with context-dependent Content-Type",
+        "Responses with Content-Type of application/x-protobuf"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "callback": {
+      "description": "JSONP",
+      "location": "query",
+      "type": "string"
+    },
     "fields": {
       "description": "Selector specifying which fields to include in a partial response.",
       "location": "query",
@@ -78,12 +104,17 @@
       "type": "boolean"
     },
     "quotaUser": {
-      "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
+      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
       "location": "query",
       "type": "string"
     },
-    "userIp": {
-      "description": "Deprecated. Please use quotaUser instead.",
+    "uploadType": {
+      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    },
+    "upload_protocol": {
+      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
       "location": "query",
       "type": "string"
     }
@@ -94,6 +125,7 @@
       "methods": {
         "get": {
           "description": "Gets a GTM Account.",
+          "flatPath": "tagmanager/v1/accounts/{accountId}",
           "httpMethod": "GET",
           "id": "tagmanager.accounts.get",
           "parameterOrder": [
@@ -107,7 +139,7 @@
               "type": "string"
             }
           },
-          "path": "accounts/{accountId}",
+          "path": "tagmanager/v1/accounts/{accountId}",
           "response": {
             "$ref": "Account"
           },
@@ -119,9 +151,12 @@
         },
         "list": {
           "description": "Lists all GTM Accounts that a user has access to.",
+          "flatPath": "tagmanager/v1/accounts",
           "httpMethod": "GET",
           "id": "tagmanager.accounts.list",
-          "path": "accounts",
+          "parameterOrder": [],
+          "parameters": {},
+          "path": "tagmanager/v1/accounts",
           "response": {
             "$ref": "ListAccountsResponse"
           },
@@ -133,6 +168,7 @@
         },
         "update": {
           "description": "Updates a GTM Account.",
+          "flatPath": "tagmanager/v1/accounts/{accountId}",
           "httpMethod": "PUT",
           "id": "tagmanager.accounts.update",
           "parameterOrder": [
@@ -146,12 +182,12 @@
               "type": "string"
             },
             "fingerprint": {
-              "description": "When provided, this fingerprint must match the fingerprint of the account in storage.",
+              "description": "When provided, this fingerprint must match the fingerprint of the account\nin storage.",
               "location": "query",
               "type": "string"
             }
           },
-          "path": "accounts/{accountId}",
+          "path": "tagmanager/v1/accounts/{accountId}",
           "request": {
             "$ref": "Account"
           },
@@ -168,6 +204,7 @@
           "methods": {
             "create": {
               "description": "Creates a Container.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/containers",
               "httpMethod": "POST",
               "id": "tagmanager.accounts.containers.create",
               "parameterOrder": [
@@ -181,7 +218,7 @@
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/containers",
+              "path": "tagmanager/v1/accounts/{accountId}/containers",
               "request": {
                 "$ref": "Container"
               },
@@ -194,6 +231,7 @@
             },
             "delete": {
               "description": "Deletes a Container.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
               "httpMethod": "DELETE",
               "id": "tagmanager.accounts.containers.delete",
               "parameterOrder": [
@@ -214,13 +252,14 @@
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/containers/{containerId}",
+              "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
               "scopes": [
                 "https://www.googleapis.com/auth/tagmanager.delete.containers"
               ]
             },
             "get": {
               "description": "Gets a Container.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
               "httpMethod": "GET",
               "id": "tagmanager.accounts.containers.get",
               "parameterOrder": [
@@ -241,7 +280,7 @@
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/containers/{containerId}",
+              "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
               "response": {
                 "$ref": "Container"
               },
@@ -252,6 +291,7 @@
             },
             "list": {
               "description": "Lists all Containers that belongs to a GTM Account.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/containers",
               "httpMethod": "GET",
               "id": "tagmanager.accounts.containers.list",
               "parameterOrder": [
@@ -265,7 +305,7 @@
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/containers",
+              "path": "tagmanager/v1/accounts/{accountId}/containers",
               "response": {
                 "$ref": "ListContainersResponse"
               },
@@ -276,6 +316,7 @@
             },
             "update": {
               "description": "Updates a Container.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
               "httpMethod": "PUT",
               "id": "tagmanager.accounts.containers.update",
               "parameterOrder": [
@@ -296,12 +337,12 @@
                   "type": "string"
                 },
                 "fingerprint": {
-                  "description": "When provided, this fingerprint must match the fingerprint of the container in storage.",
+                  "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer in storage.",
                   "location": "query",
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/containers/{containerId}",
+              "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
               "request": {
                 "$ref": "Container"
               },
@@ -318,6 +359,7 @@
               "methods": {
                 "create": {
                   "description": "Creates a GTM Environment.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.environments.create",
                   "parameterOrder": [
@@ -338,7 +380,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/environments",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
                   "request": {
                     "$ref": "Environment"
                   },
@@ -351,6 +393,7 @@
                 },
                 "delete": {
                   "description": "Deletes a GTM Environment.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                   "httpMethod": "DELETE",
                   "id": "tagmanager.accounts.containers.environments.delete",
                   "parameterOrder": [
@@ -378,13 +421,14 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                   "scopes": [
                     "https://www.googleapis.com/auth/tagmanager.edit.containers"
                   ]
                 },
                 "get": {
                   "description": "Gets a GTM Environment.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.environments.get",
                   "parameterOrder": [
@@ -412,7 +456,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                   "response": {
                     "$ref": "Environment"
                   },
@@ -423,6 +467,7 @@
                 },
                 "list": {
                   "description": "Lists all GTM Environments of a GTM Container.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.environments.list",
                   "parameterOrder": [
@@ -443,7 +488,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/environments",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
                   "response": {
                     "$ref": "ListEnvironmentsResponse"
                   },
@@ -454,6 +499,7 @@
                 },
                 "update": {
                   "description": "Updates a GTM Environment.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.environments.update",
                   "parameterOrder": [
@@ -481,12 +527,12 @@
                       "type": "string"
                     },
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the environment in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the\nenvironment in storage.",
                       "location": "query",
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                   "request": {
                     "$ref": "Environment"
                   },
@@ -503,6 +549,7 @@
               "methods": {
                 "create": {
                   "description": "Creates a GTM Folder.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.folders.create",
                   "parameterOrder": [
@@ -523,7 +570,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/folders",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
                   "request": {
                     "$ref": "Folder"
                   },
@@ -536,6 +583,7 @@
                 },
                 "delete": {
                   "description": "Deletes a GTM Folder.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                   "httpMethod": "DELETE",
                   "id": "tagmanager.accounts.containers.folders.delete",
                   "parameterOrder": [
@@ -563,13 +611,14 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                   "scopes": [
                     "https://www.googleapis.com/auth/tagmanager.edit.containers"
                   ]
                 },
                 "get": {
                   "description": "Gets a GTM Folder.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.folders.get",
                   "parameterOrder": [
@@ -597,7 +646,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                   "response": {
                     "$ref": "Folder"
                   },
@@ -608,6 +657,7 @@
                 },
                 "list": {
                   "description": "Lists all GTM Folders of a Container.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.folders.list",
                   "parameterOrder": [
@@ -628,7 +678,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/folders",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
                   "response": {
                     "$ref": "ListFoldersResponse"
                   },
@@ -639,6 +689,7 @@
                 },
                 "update": {
                   "description": "Updates a GTM Folder.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.folders.update",
                   "parameterOrder": [
@@ -660,7 +711,7 @@
                       "type": "string"
                     },
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the folder in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the folder in\nstorage.",
                       "location": "query",
                       "type": "string"
                     },
@@ -671,7 +722,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                   "request": {
                     "$ref": "Folder"
                   },
@@ -688,6 +739,7 @@
                   "methods": {
                     "list": {
                       "description": "List all entities in a GTM Folder.",
+                      "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.folders.entities.list",
                       "parameterOrder": [
@@ -715,7 +767,7 @@
                           "type": "string"
                         }
                       },
-                      "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities",
+                      "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities",
                       "response": {
                         "$ref": "FolderEntities"
                       },
@@ -732,6 +784,7 @@
               "methods": {
                 "update": {
                   "description": "Moves entities to a GTM Folder.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.move_folders.update",
                   "parameterOrder": [
@@ -777,7 +830,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/move_folders/{folderId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}",
                   "request": {
                     "$ref": "Folder"
                   },
@@ -791,6 +844,7 @@
               "methods": {
                 "update": {
                   "description": "Re-generates the authorization code for a GTM Environment.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.reauthorize_environments.update",
                   "parameterOrder": [
@@ -818,7 +872,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}",
                   "request": {
                     "$ref": "Environment"
                   },
@@ -835,6 +889,7 @@
               "methods": {
                 "create": {
                   "description": "Creates a GTM Tag.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.tags.create",
                   "parameterOrder": [
@@ -855,7 +910,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/tags",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
                   "request": {
                     "$ref": "Tag"
                   },
@@ -868,6 +923,7 @@
                 },
                 "delete": {
                   "description": "Deletes a GTM Tag.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                   "httpMethod": "DELETE",
                   "id": "tagmanager.accounts.containers.tags.delete",
                   "parameterOrder": [
@@ -895,13 +951,14 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/tags/{tagId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                   "scopes": [
                     "https://www.googleapis.com/auth/tagmanager.edit.containers"
                   ]
                 },
                 "get": {
                   "description": "Gets a GTM Tag.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.tags.get",
                   "parameterOrder": [
@@ -929,7 +986,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/tags/{tagId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                   "response": {
                     "$ref": "Tag"
                   },
@@ -940,6 +997,7 @@
                 },
                 "list": {
                   "description": "Lists all GTM Tags of a Container.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.tags.list",
                   "parameterOrder": [
@@ -960,7 +1018,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/tags",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
                   "response": {
                     "$ref": "ListTagsResponse"
                   },
@@ -971,6 +1029,7 @@
                 },
                 "update": {
                   "description": "Updates a GTM Tag.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.tags.update",
                   "parameterOrder": [
@@ -992,7 +1051,7 @@
                       "type": "string"
                     },
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the tag in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the tag in\nstorage.",
                       "location": "query",
                       "type": "string"
                     },
@@ -1003,7 +1062,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/tags/{tagId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                   "request": {
                     "$ref": "Tag"
                   },
@@ -1020,6 +1079,7 @@
               "methods": {
                 "create": {
                   "description": "Creates a GTM Trigger.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.triggers.create",
                   "parameterOrder": [
@@ -1040,7 +1100,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/triggers",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
                   "request": {
                     "$ref": "Trigger"
                   },
@@ -1053,6 +1113,7 @@
                 },
                 "delete": {
                   "description": "Deletes a GTM Trigger.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                   "httpMethod": "DELETE",
                   "id": "tagmanager.accounts.containers.triggers.delete",
                   "parameterOrder": [
@@ -1080,13 +1141,14 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                   "scopes": [
                     "https://www.googleapis.com/auth/tagmanager.edit.containers"
                   ]
                 },
                 "get": {
                   "description": "Gets a GTM Trigger.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.triggers.get",
                   "parameterOrder": [
@@ -1114,7 +1176,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                   "response": {
                     "$ref": "Trigger"
                   },
@@ -1125,6 +1187,7 @@
                 },
                 "list": {
                   "description": "Lists all GTM Triggers of a Container.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.triggers.list",
                   "parameterOrder": [
@@ -1145,7 +1208,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/triggers",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
                   "response": {
                     "$ref": "ListTriggersResponse"
                   },
@@ -1156,6 +1219,7 @@
                 },
                 "update": {
                   "description": "Updates a GTM Trigger.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.triggers.update",
                   "parameterOrder": [
@@ -1177,7 +1241,7 @@
                       "type": "string"
                     },
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the trigger in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the trigger\nin storage.",
                       "location": "query",
                       "type": "string"
                     },
@@ -1188,7 +1252,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                   "request": {
                     "$ref": "Trigger"
                   },
@@ -1205,6 +1269,7 @@
               "methods": {
                 "create": {
                   "description": "Creates a GTM Variable.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.variables.create",
                   "parameterOrder": [
@@ -1225,7 +1290,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/variables",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
                   "request": {
                     "$ref": "Variable"
                   },
@@ -1238,6 +1303,7 @@
                 },
                 "delete": {
                   "description": "Deletes a GTM Variable.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                   "httpMethod": "DELETE",
                   "id": "tagmanager.accounts.containers.variables.delete",
                   "parameterOrder": [
@@ -1265,13 +1331,14 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/variables/{variableId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                   "scopes": [
                     "https://www.googleapis.com/auth/tagmanager.edit.containers"
                   ]
                 },
                 "get": {
                   "description": "Gets a GTM Variable.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.variables.get",
                   "parameterOrder": [
@@ -1299,7 +1366,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/variables/{variableId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                   "response": {
                     "$ref": "Variable"
                   },
@@ -1310,6 +1377,7 @@
                 },
                 "list": {
                   "description": "Lists all GTM Variables of a Container.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.variables.list",
                   "parameterOrder": [
@@ -1330,7 +1398,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/variables",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
                   "response": {
                     "$ref": "ListVariablesResponse"
                   },
@@ -1341,6 +1409,7 @@
                 },
                 "update": {
                   "description": "Updates a GTM Variable.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.variables.update",
                   "parameterOrder": [
@@ -1362,7 +1431,7 @@
                       "type": "string"
                     },
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the variable in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the variable\nin storage.",
                       "location": "query",
                       "type": "string"
                     },
@@ -1373,7 +1442,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/variables/{variableId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                   "request": {
                     "$ref": "Variable"
                   },
@@ -1390,6 +1459,7 @@
               "methods": {
                 "create": {
                   "description": "Creates a Container Version.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.versions.create",
                   "parameterOrder": [
@@ -1410,7 +1480,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/versions",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
                   "request": {
                     "$ref": "CreateContainerVersionRequestVersionOptions"
                   },
@@ -1423,6 +1493,7 @@
                 },
                 "delete": {
                   "description": "Deletes a Container Version.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                   "httpMethod": "DELETE",
                   "id": "tagmanager.accounts.containers.versions.delete",
                   "parameterOrder": [
@@ -1450,13 +1521,14 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                   "scopes": [
                     "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
                   ]
                 },
                 "get": {
                   "description": "Gets a Container Version.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.versions.get",
                   "parameterOrder": [
@@ -1478,13 +1550,13 @@
                       "type": "string"
                     },
                     "containerVersionId": {
-                      "description": "The GTM Container Version ID. Specify published to retrieve the currently published version.",
+                      "description": "The GTM Container Version ID. Specify \u003ccode\u003epublished\u003c/code\u003e to retrieve\nthe currently published version.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                   "response": {
                     "$ref": "ContainerVersion"
                   },
@@ -1496,6 +1568,7 @@
                 },
                 "list": {
                   "description": "Lists all Container Versions of a GTM Container.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.versions.list",
                   "parameterOrder": [
@@ -1528,7 +1601,7 @@
                       "type": "boolean"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/versions",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
                   "response": {
                     "$ref": "ListContainerVersionsResponse"
                   },
@@ -1540,6 +1613,7 @@
                 },
                 "publish": {
                   "description": "Publishes a Container Version.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.versions.publish",
                   "parameterOrder": [
@@ -1567,12 +1641,12 @@
                       "type": "string"
                     },
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the container version in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
                       "location": "query",
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish",
                   "response": {
                     "$ref": "PublishContainerVersionResponse"
                   },
@@ -1581,7 +1655,8 @@
                   ]
                 },
                 "restore": {
-                  "description": "Restores a Container Version. This will overwrite the container's current configuration (including its variables, triggers and tags). The operation will not have any effect on the version that is being served (i.e. the published version).",
+                  "description": "Restores a Container Version. This will overwrite the container's current\nconfiguration (including its variables, triggers and tags). The operation\nwill not have any effect on the version that is being served (i.e. the\npublished version).",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.versions.restore",
                   "parameterOrder": [
@@ -1609,7 +1684,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore",
                   "response": {
                     "$ref": "ContainerVersion"
                   },
@@ -1619,6 +1694,7 @@
                 },
                 "undelete": {
                   "description": "Undeletes a Container Version.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.versions.undelete",
                   "parameterOrder": [
@@ -1646,7 +1722,7 @@
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete",
                   "response": {
                     "$ref": "ContainerVersion"
                   },
@@ -1656,6 +1732,7 @@
                 },
                 "update": {
                   "description": "Updates a Container Version.",
+                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.versions.update",
                   "parameterOrder": [
@@ -1683,12 +1760,12 @@
                       "type": "string"
                     },
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the container version in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
                       "location": "query",
                       "type": "string"
                     }
                   },
-                  "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
+                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                   "request": {
                     "$ref": "ContainerVersion"
                   },
@@ -1707,6 +1784,7 @@
           "methods": {
             "create": {
               "description": "Creates a user's Account \u0026 Container Permissions.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions",
               "httpMethod": "POST",
               "id": "tagmanager.accounts.permissions.create",
               "parameterOrder": [
@@ -1720,7 +1798,7 @@
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/permissions",
+              "path": "tagmanager/v1/accounts/{accountId}/permissions",
               "request": {
                 "$ref": "UserAccess"
               },
@@ -1732,7 +1810,8 @@
               ]
             },
             "delete": {
-              "description": "Removes a user from the account, revoking access to it and all of its containers.",
+              "description": "Removes a user from the account, revoking access to it and all of its\ncontainers.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
               "httpMethod": "DELETE",
               "id": "tagmanager.accounts.permissions.delete",
               "parameterOrder": [
@@ -1753,13 +1832,14 @@
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/permissions/{permissionId}",
+              "path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
               "scopes": [
                 "https://www.googleapis.com/auth/tagmanager.manage.users"
               ]
             },
             "get": {
               "description": "Gets a user's Account \u0026 Container Permissions.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
               "httpMethod": "GET",
               "id": "tagmanager.accounts.permissions.get",
               "parameterOrder": [
@@ -1780,7 +1860,7 @@
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/permissions/{permissionId}",
+              "path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
               "response": {
                 "$ref": "UserAccess"
               },
@@ -1789,7 +1869,8 @@
               ]
             },
             "list": {
-              "description": "List all users that have access to the account along with Account and Container Permissions granted to each of them.",
+              "description": "List all users that have access to the account along with Account and\nContainer Permissions granted to each of them.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions",
               "httpMethod": "GET",
               "id": "tagmanager.accounts.permissions.list",
               "parameterOrder": [
@@ -1797,13 +1878,13 @@
               ],
               "parameters": {
                 "accountId": {
-                  "description": "The GTM Account ID. @required tagmanager.accounts.permissions.list",
+                  "description": "The GTM Account ID.",
                   "location": "path",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/permissions",
+              "path": "tagmanager/v1/accounts/{accountId}/permissions",
               "response": {
                 "$ref": "ListAccountUsersResponse"
               },
@@ -1813,6 +1894,7 @@
             },
             "update": {
               "description": "Updates a user's Account \u0026 Container Permissions.",
+              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
               "httpMethod": "PUT",
               "id": "tagmanager.accounts.permissions.update",
               "parameterOrder": [
@@ -1833,7 +1915,7 @@
                   "type": "string"
                 }
               },
-              "path": "accounts/{accountId}/permissions/{permissionId}",
+              "path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
               "request": {
                 "$ref": "UserAccess"
               },
@@ -1849,7 +1931,7 @@
       }
     }
   },
-  "revision": "20190516",
+  "revision": "20190629",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
@@ -1861,15 +1943,15 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.",
+          "description": "The fingerprint of the GTM Account as computed at storage time.\nThis value is recomputed whenever the account is modified.",
           "type": "string"
         },
         "name": {
-          "description": "Account display name.",
+          "description": "Account display name.\n@mutable tagmanager.accounts.create\n@mutable tagmanager.accounts.update",
           "type": "string"
         },
         "shareData": {
-          "description": "Whether the account shares data anonymously with Google and others.",
+          "description": "Whether the account shares data anonymously with Google and others.\n@mutable tagmanager.accounts.create\n@mutable tagmanager.accounts.update",
           "type": "boolean"
         }
       },
@@ -1885,23 +1967,23 @@
               "tagmanager.accounts.permissions.create"
             ]
           },
-          "description": "List of Account permissions. Valid account permissions are read and manage.",
+          "description": "List of Account permissions.\nValid account permissions are \u003ccode\u003eread\u003c/code\u003e and \u003ccode\u003emanage\u003c/code\u003e.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "delete",
+              "read",
               "edit",
-              "editWorkspace",
-              "manage",
               "publish",
-              "read"
-            ],
-            "enumDescriptions": [
-              "",
-              "",
-              "",
-              "",
-              "",
-              ""
+              "delete",
+              "manage",
+              "editWorkspace"
             ],
             "type": "string"
           },
@@ -1921,7 +2003,7 @@
               "tagmanager.accounts.containers.triggers.update"
             ]
           },
-          "description": "A list of named parameters (key/value), depending on the condition's type. Notes: \n- For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively. \n- At this time, the left operand (arg0) must be a reference to a variable. \n- 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. \n- To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.",
+          "description": "A list of named parameters (key/value), depending on the condition's type.\nNotes:\u003cul\u003e\n\u003cli\u003eFor binary operators, include parameters named \u003ccode\u003earg0\u003c/code\u003e and\n   \u003ccode\u003earg1\u003c/code\u003e for specifying the left and right operands,\n   respectively.\u003c/li\u003e\n\u003cli\u003eAt this time, the left operand (\u003ccode\u003earg0\u003c/code\u003e) must be a reference\n    to a variable.\u003c/li\u003e\n\u003cli\u003eFor case-insensitive Regex matching, include a boolean parameter named\n    \u003ccode\u003eignore_case\u003c/code\u003e that is set to \u003ccode\u003etrue\u003c/code\u003e.\n    If not specified or set to any other value, the matching will be case\n    sensitive.\u003c/li\u003e\n\u003cli\u003eTo negate an operator, include a boolean parameter named\n    \u003ccode\u003enegate\u003c/code\u003e boolean parameter that is set to \u003ccode\u003etrue\u003c/code\u003e.\n    \u003c/li\u003e\n\u003c/ul\u003e\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -1934,18 +2016,18 @@
               "tagmanager.accounts.containers.triggers.update"
             ]
           },
-          "description": "The type of operator for this condition.",
+          "description": "The type of operator for this condition.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update",
           "enum": [
-            "contains",
-            "cssSelector",
-            "endsWith",
             "equals",
+            "contains",
+            "startsWith",
+            "endsWith",
+            "matchRegex",
             "greater",
             "greaterOrEquals",
             "less",
             "lessOrEquals",
-            "matchRegex",
-            "startsWith",
+            "cssSelector",
             "urlMatches"
           ],
           "enumDescriptions": [
@@ -1979,61 +2061,187 @@
           "type": "string"
         },
         "domainName": {
-          "description": "Optional list of domain names associated with the Container.",
+          "description": "Optional list of domain names associated with the Container.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "enabledBuiltInVariable": {
-          "description": "List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.",
+          "description": "List of enabled built-in variables. Valid values include: \u003ccode\u003epageUrl,\npageHostname, pagePath, referrer, event, clickElement, clickClasses,\nclickId, clickTarget, clickUrl, clickText, formElement, formClasses,\nformId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine,\nnewHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState,\nhistorySource, containerVersion, debugMode, randomNumber,\ncontainerId\u003c/code\u003e.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "For web or mobile.",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "For web or mobile.",
+            "",
+            "For web or mobile.",
+            "For web or mobile.",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "advertiserId",
-              "advertisingTrackingEnabled",
-              "ampBrowserLanguage",
-              "ampCanonicalHost",
-              "ampCanonicalPath",
-              "ampCanonicalUrl",
-              "ampClientId",
-              "ampClientMaxScrollX",
-              "ampClientMaxScrollY",
-              "ampClientScreenHeight",
-              "ampClientScreenWidth",
-              "ampClientScrollX",
-              "ampClientScrollY",
-              "ampClientTimestamp",
-              "ampClientTimezone",
-              "ampGtmEvent",
-              "ampPageDownloadTime",
-              "ampPageLoadTime",
-              "ampPageViewId",
-              "ampReferrer",
-              "ampTitle",
-              "ampTotalEngagedTime",
+              "pageUrl",
+              "pageHostname",
+              "pagePath",
+              "referrer",
+              "event",
+              "clickElement",
+              "clickClasses",
+              "clickId",
+              "clickTarget",
+              "clickUrl",
+              "clickText",
+              "formElement",
+              "formClasses",
+              "formId",
+              "formTarget",
+              "formUrl",
+              "formText",
+              "environmentName",
+              "errorMessage",
+              "errorUrl",
+              "errorLine",
+              "newHistoryUrl",
+              "oldHistoryUrl",
+              "newHistoryFragment",
+              "oldHistoryFragment",
+              "newHistoryState",
+              "oldHistoryState",
+              "historySource",
+              "containerVersion",
+              "debugMode",
+              "randomNumber",
+              "containerId",
               "appId",
               "appName",
               "appVersionCode",
               "appVersionName",
-              "clickClasses",
-              "clickElement",
-              "clickId",
-              "clickTarget",
-              "clickText",
-              "clickUrl",
-              "containerId",
-              "containerVersion",
-              "debugMode",
+              "language",
+              "osVersion",
+              "platform",
+              "sdkVersion",
               "deviceName",
-              "elementVisibilityFirstTime",
-              "elementVisibilityRatio",
-              "elementVisibilityRecentTime",
-              "elementVisibilityTime",
-              "environmentName",
-              "errorLine",
-              "errorMessage",
-              "errorUrl",
-              "event",
+              "resolution",
+              "advertiserId",
+              "advertisingTrackingEnabled",
+              "htmlId",
+              "ampBrowserLanguage",
+              "ampCanonicalPath",
+              "ampCanonicalUrl",
+              "ampCanonicalHost",
+              "ampReferrer",
+              "ampTitle",
+              "ampClientId",
+              "ampClientTimezone",
+              "ampClientTimestamp",
+              "ampClientScreenWidth",
+              "ampClientScreenHeight",
+              "ampClientScrollX",
+              "ampClientScrollY",
+              "ampClientMaxScrollX",
+              "ampClientMaxScrollY",
+              "ampTotalEngagedTime",
+              "ampPageViewId",
+              "ampPageLoadTime",
+              "ampPageDownloadTime",
+              "ampGtmEvent",
               "eventName",
               "firebaseEventParameterCampaign",
               "firebaseEventParameterCampaignAclid",
@@ -2058,154 +2266,28 @@
               "firebaseEventParameterProductId",
               "firebaseEventParameterQuantity",
               "firebaseEventParameterValue",
-              "formClasses",
-              "formElement",
-              "formId",
-              "formTarget",
-              "formText",
-              "formUrl",
-              "historySource",
-              "htmlId",
-              "language",
-              "newHistoryFragment",
-              "newHistoryState",
-              "newHistoryUrl",
-              "oldHistoryFragment",
-              "oldHistoryState",
-              "oldHistoryUrl",
-              "osVersion",
-              "pageHostname",
-              "pagePath",
-              "pageUrl",
-              "platform",
-              "randomNumber",
-              "referrer",
-              "resolution",
-              "scrollDepthDirection",
-              "scrollDepthThreshold",
-              "scrollDepthUnits",
-              "sdkVersion",
-              "videoCurrentTime",
+              "videoProvider",
+              "videoUrl",
+              "videoTitle",
               "videoDuration",
               "videoPercent",
-              "videoProvider",
+              "videoVisible",
               "videoStatus",
-              "videoTitle",
-              "videoUrl",
-              "videoVisible"
-            ],
-            "enumDescriptions": [
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              ""
+              "videoCurrentTime",
+              "scrollDepthThreshold",
+              "scrollDepthUnits",
+              "scrollDepthDirection",
+              "elementVisibilityRatio",
+              "elementVisibilityTime",
+              "elementVisibilityFirstTime",
+              "elementVisibilityRecentTime"
             ],
             "type": "string"
           },
           "type": "array"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.",
+          "description": "The fingerprint of the GTM Container as computed at storage time.  This\nvalue is recomputed whenever the account is modified.",
           "type": "string"
         },
         "name": {
@@ -2214,11 +2296,11 @@
               "tagmanager.accounts.containers.create"
             ]
           },
-          "description": "Container display name.",
+          "description": "Container display name.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
           "type": "string"
         },
         "notes": {
-          "description": "Container Notes.",
+          "description": "Container Notes.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
           "type": "string"
         },
         "publicId": {
@@ -2231,7 +2313,7 @@
               "tagmanager.accounts.containers.create"
             ]
           },
-          "description": "Container Country ID.",
+          "description": "Container Country ID.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
           "type": "string"
         },
         "timeZoneId": {
@@ -2240,32 +2322,33 @@
               "tagmanager.accounts.containers.create"
             ]
           },
-          "description": "Container Time Zone ID.",
+          "description": "Container Time Zone ID.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
           "type": "string"
         },
         "usageContext": {
           "annotations": {
             "required": [
-              "tagmanager.accounts.containers.create"
+              "tagmanager.accounts.containers.create",
+              "tagmanager.accounts.containers.update"
             ]
           },
-          "description": "List of Usage Contexts for the Container. Valid values include: web, android, ios.",
+          "description": "List of Usage Contexts for the Container. Valid values include: \u003ccode\u003eweb,\nandroid, ios\u003c/code\u003e.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "amp",
+              "web",
               "android",
-              "androidSdk5",
               "ios",
+              "androidSdk5",
               "iosSdk5",
-              "web"
-            ],
-            "enumDescriptions": [
-              "",
-              "",
-              "",
-              "",
-              "",
-              ""
+              "amp"
             ],
             "type": "string"
           },
@@ -2279,27 +2362,27 @@
       "id": "ContainerAccess",
       "properties": {
         "containerId": {
-          "description": "GTM Container ID.",
+          "description": "GTM Container ID.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update",
           "type": "string"
         },
         "permission": {
-          "description": "List of Container permissions. Valid container permissions are: read, edit, delete, publish.",
+          "description": "List of Container permissions.\nValid container permissions are: \u003ccode\u003eread, edit, delete, publish\u003c/code\u003e.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "delete",
+              "read",
               "edit",
-              "editWorkspace",
-              "manage",
               "publish",
-              "read"
-            ],
-            "enumDescriptions": [
-              "",
-              "",
-              "",
-              "",
-              "",
-              ""
+              "delete",
+              "manage",
+              "editWorkspace"
             ],
             "type": "string"
           },
@@ -2333,7 +2416,7 @@
           "type": "boolean"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.",
+          "description": "The fingerprint of the GTM Container Version as computed at\nstorage time. This value is recomputed whenever the container version is\nmodified.",
           "type": "string"
         },
         "folder": {
@@ -2351,11 +2434,11 @@
           "type": "array"
         },
         "name": {
-          "description": "Container version display name.",
+          "description": "Container version display name.\n@mutable tagmanager.accounts.containers.versions.update",
           "type": "string"
         },
         "notes": {
-          "description": "User notes on how to apply this container version in the container.",
+          "description": "User notes on how to apply this container version in the\ncontainer.\n@mutable tagmanager.accounts.containers.versions.update",
           "type": "string"
         },
         "rule": {
@@ -2449,7 +2532,7 @@
           "type": "string"
         },
         "quickPreview": {
-          "description": "The creation of this version may be for quick preview and shouldn't be saved.",
+          "description": "The creation of this version may be for quick preview and\nshouldn't be saved.",
           "type": "boolean"
         }
       },
@@ -2471,7 +2554,7 @@
       "type": "object"
     },
     "Environment": {
-      "description": "Represents a Google Tag Manager Environment. Note that a user can create, delete and update environments of type USER, but can only update the enable_debug and url fields of environments of other types.",
+      "description": "Represents a Google Tag Manager Environment. Note that a user can create,\ndelete and update environments of type USER, but can only update the\nenable_debug and url fields of environments of other types.",
       "id": "Environment",
       "properties": {
         "accountId": {
@@ -2492,15 +2575,14 @@
           "type": "string"
         },
         "containerVersionId": {
-          "description": "",
           "type": "string"
         },
         "description": {
-          "description": "The environment description. Can be set or changed only on USER type environments.",
+          "description": "The environment description. Can be set or changed only on USER type\nenvironments.\n@mutable tagmanager.accounts.containers.environments.create\n@mutable tagmanager.accounts.containers.environments.update",
           "type": "string"
         },
         "enableDebug": {
-          "description": "Whether or not to enable debug by default on for the environment.",
+          "description": "Whether or not to enable debug by default on for the environment.\n@mutable tagmanager.accounts.containers.environments.create\n@mutable tagmanager.accounts.containers.environments.update",
           "type": "boolean"
         },
         "environmentId": {
@@ -2508,7 +2590,7 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM environment as computed at storage time. This value is recomputed whenever the environment is modified.",
+          "description": "The fingerprint of the GTM environment as computed at storage time.\nThis value is recomputed whenever the environment is modified.",
           "type": "string"
         },
         "name": {
@@ -2518,27 +2600,27 @@
               "tagmanager.accounts.containers.environments.update"
             ]
           },
-          "description": "The environment display name. Can be set or changed only on USER type environments.",
+          "description": "The environment display name. Can be set or changed only on USER type\nenvironments.\n@mutable tagmanager.accounts.containers.environments.create\n@mutable tagmanager.accounts.containers.environments.update",
           "type": "string"
         },
         "type": {
           "description": "The type of this environment.",
           "enum": [
-            "draft",
-            "latest",
+            "user",
             "live",
-            "user"
+            "latest",
+            "draft"
           ],
           "enumDescriptions": [
-            "",
-            "",
-            "",
-            ""
+            "Used for user defined environments.",
+            "Used for Live environment, which points to the live published container\nversion.",
+            "Used for Latest environment, which points to the latest created container\nversion.",
+            "Used for Draft environment, which points to the single draft in\nthe container."
           ],
           "type": "string"
         },
         "url": {
-          "description": "Default preview page url for the environment.",
+          "description": "Default preview page url for the environment.\n@mutable tagmanager.accounts.containers.environments.create\n@mutable tagmanager.accounts.containers.environments.update",
           "type": "string"
         }
       },
@@ -2557,7 +2639,7 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Folder as computed at storage time. This value is recomputed whenever the folder is modified.",
+          "description": "The fingerprint of the GTM Folder as computed at storage time.\nThis value is recomputed whenever the folder is modified.",
           "type": "string"
         },
         "folderId": {
@@ -2571,7 +2653,7 @@
               "tagmanager.accounts.containers.folders.update"
             ]
           },
-          "description": "Folder display name.",
+          "description": "Folder display name.\n@mutable tagmanager.accounts.containers.folders.create\n@mutable tagmanager.accounts.containers.folders.update",
           "type": "string"
         }
       },
@@ -2751,21 +2833,21 @@
           "type": "string"
         },
         "disablingRuleId": {
-          "description": "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.",
+          "description": "For mobile containers only: A list of rule IDs for disabling conditional\nmacros; the macro is enabled if one of the enabling rules is true while all\nthe disabling rules are false. Treated as an unordered set.\n@mutable tagmanager.accounts.containers.macros.create\n@mutable tagmanager.accounts.containers.macros.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "enablingRuleId": {
-          "description": "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.",
+          "description": "For mobile containers only: A list of rule IDs for enabling conditional\nmacros; the macro is enabled if one of the enabling rules is true while all\nthe disabling rules are false. Treated as an unordered set.\n@mutable tagmanager.accounts.containers.macros.create\n@mutable tagmanager.accounts.containers.macros.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.",
+          "description": "The fingerprint of the GTM Macro as computed at storage time.\nThis value is recomputed whenever the macro is modified.",
           "type": "string"
         },
         "macroId": {
@@ -2773,15 +2855,15 @@
           "type": "string"
         },
         "name": {
-          "description": "Macro display name.",
+          "description": "Macro display name.\n@mutable tagmanager.accounts.containers.macros.create\n@mutable tagmanager.accounts.containers.macros.update",
           "type": "string"
         },
         "notes": {
-          "description": "User notes on how to apply this macro in the container.",
+          "description": "User notes on how to apply this macro in the container.\n@mutable tagmanager.accounts.containers.macros.create\n@mutable tagmanager.accounts.containers.macros.update",
           "type": "string"
         },
         "parameter": {
-          "description": "The macro's parameters.",
+          "description": "The macro's parameters.\n@mutable tagmanager.accounts.containers.macros.create\n@mutable tagmanager.accounts.containers.macros.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -2792,17 +2874,17 @@
           "type": "string"
         },
         "scheduleEndMs": {
-          "description": "The end timestamp in milliseconds to schedule a macro.",
+          "description": "The end timestamp in milliseconds to schedule a macro.\n@mutable tagmanager.accounts.containers.macros.create\n@mutable tagmanager.accounts.containers.macros.update",
           "format": "int64",
           "type": "string"
         },
         "scheduleStartMs": {
-          "description": "The start timestamp in milliseconds to schedule a macro.",
+          "description": "The start timestamp in milliseconds to schedule a macro.\n@mutable tagmanager.accounts.containers.macros.create\n@mutable tagmanager.accounts.containers.macros.update",
           "format": "int64",
           "type": "string"
         },
         "type": {
-          "description": "GTM Macro Type.",
+          "description": "GTM Macro Type.\n@mutable tagmanager.accounts.containers.macros.create\n@mutable tagmanager.accounts.containers.macros.update",
           "type": "string"
         }
       },
@@ -2813,18 +2895,18 @@
       "id": "Parameter",
       "properties": {
         "key": {
-          "description": "The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.",
+          "description": "The named key that uniquely identifies a parameter.  Required for top-level\nparameters, as well as map values.  Ignored for list values.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "type": "string"
         },
         "list": {
-          "description": "This list parameter's parameters (keys will be ignored).",
+          "description": "This list parameter's parameters (keys will be ignored).\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "items": {
             "$ref": "Parameter"
           },
           "type": "array"
         },
         "map": {
-          "description": "This map parameter's parameters (must have keys; keys must be unique).",
+          "description": "This map parameter's parameters (must have keys; keys must be unique).\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -2841,17 +2923,17 @@
               "tagmanager.accounts.containers.variables.update"
             ]
           },
-          "description": "The parameter type. Valid values are: \n- boolean: The value represents a boolean, represented as 'true' or 'false' \n- integer: The value represents a 64-bit signed integer value, in base 10 \n- list: A list of parameters should be specified \n- map: A map of parameters should be specified \n- template: The value represents any text; this can include variable references (even variable references that might return non-string types) \n- trigger_reference: The value represents a trigger, represented as the trigger id",
+          "description": "The parameter type.  Valid values are:\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eboolean\u003c/code\u003e: The value represents a boolean, represented as\n    'true' or 'false'\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003einteger\u003c/code\u003e: The value represents a 64-bit signed integer\n    value, in base 10\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elist\u003c/code\u003e: A list of parameters should be specified\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emap\u003c/code\u003e: A map of parameters should be specified\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etemplate\u003c/code\u003e: The value represents any text; this can include\n    variable references (even variable references that might return\n    non-string types)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etrigger_reference\u003c/code\u003e: The value represents a trigger,\n    represented as the trigger id\u003c/li\u003e\n\u003c/ul\u003e\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "enum": [
-            "boolean",
+            "template",
             "integer",
+            "boolean",
             "list",
             "map",
-            "template",
             "triggerReference"
           ],
           "enumDescriptions": [
-            "",
+            "May include variable references (such as \"{{myVariable}}\").",
             "",
             "",
             "",
@@ -2861,7 +2943,7 @@
           "type": "string"
         },
         "value": {
-          "description": "A parameter's value (may contain variable references such as \"{{myVariable}}\") as appropriate to the specified type.",
+          "description": "A parameter's value (may contain variable references such as\n\"{{myVariable}}\")\nas appropriate to the specified type.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "type": "string"
         }
       },
@@ -2891,7 +2973,7 @@
           "type": "string"
         },
         "condition": {
-          "description": "The list of conditions that make up this rule (implicit AND between them).",
+          "description": "The list of conditions that make up this rule (implicit AND between them).\n@mutable tagmanager.accounts.containers.rules.create\n@mutable tagmanager.accounts.containers.rules.update",
           "items": {
             "$ref": "Condition"
           },
@@ -2902,15 +2984,15 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.",
+          "description": "The fingerprint of the GTM Rule as computed at storage time.\nThis value is recomputed whenever the rule is modified.",
           "type": "string"
         },
         "name": {
-          "description": "Rule display name.",
+          "description": "Rule display name.\n@mutable tagmanager.accounts.containers.rules.create\n@mutable tagmanager.accounts.containers.rules.update",
           "type": "string"
         },
         "notes": {
-          "description": "User notes on how to apply this rule in the container.",
+          "description": "User notes on how to apply this rule in the container.\n@mutable tagmanager.accounts.containers.rules.create\n@mutable tagmanager.accounts.containers.rules.update",
           "type": "string"
         },
         "ruleId": {
@@ -2924,7 +3006,7 @@
       "id": "SetupTag",
       "properties": {
         "stopOnSetupFailure": {
-          "description": "If true, fire the main tag if and only if the setup tag fires successfully. If false, fire the main tag regardless of setup tag firing status.",
+          "description": "If true, fire the main tag if and only if the setup tag fires\nsuccessfully.\nIf false, fire the main tag regardless of setup tag firing status.",
           "type": "boolean"
         },
         "tagName": {
@@ -2943,14 +3025,14 @@
           "type": "string"
         },
         "blockingRuleId": {
-          "description": "Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.",
+          "description": "Blocking rule IDs. If any of the listed rules evaluate to true, the tag\n    will not fire.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "blockingTriggerId": {
-          "description": "Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.",
+          "description": "Blocking trigger IDs. If any of the listed triggers evaluate to true, the\ntag\n    will not fire.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "items": {
             "type": "string"
           },
@@ -2961,25 +3043,25 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.",
+          "description": "The fingerprint of the GTM Tag as computed at storage time.\nThis value is recomputed whenever the tag is modified.",
           "type": "string"
         },
         "firingRuleId": {
-          "description": "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.",
+          "description": "Firing rule IDs. A tag will fire when any of the listed rules are true and\n    all of its \u003ccode\u003eblockingRuleIds\u003c/code\u003e (if any specified) are false.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "firingTriggerId": {
-          "description": "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.",
+          "description": "Firing trigger IDs. A tag will fire when any of the listed triggers are\ntrue and all of its \u003ccode\u003eblockingTriggerIds\u003c/code\u003e (if any specified) are\nfalse.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "liveOnly": {
-          "description": "If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).",
+          "description": "If set to true, this tag will only fire in the live environment (e.g. not\nin preview or debug mode).\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "type": "boolean"
         },
         "name": {
@@ -2989,15 +3071,15 @@
               "tagmanager.accounts.containers.tags.update"
             ]
           },
-          "description": "Tag display name.",
+          "description": "Tag display name.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "type": "string"
         },
         "notes": {
-          "description": "User notes on how to apply this tag in the container.",
+          "description": "User notes on how to apply this tag in the container.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "type": "string"
         },
         "parameter": {
-          "description": "The tag's parameters.",
+          "description": "The tag's parameters.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -3008,20 +3090,20 @@
           "type": "string"
         },
         "paused": {
-          "description": "True if the tag is paused.",
+          "description": "True if the tag is paused.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "type": "boolean"
         },
         "priority": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "User defined numeric priority of the tag. Tags are fired asynchronously in\norder of priority. Tags with higher numeric value fire first. A tag's\npriority can be a positive or negative value. The default value is 0.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update"
         },
         "scheduleEndMs": {
-          "description": "The end timestamp in milliseconds to schedule a tag.",
+          "description": "The end timestamp in milliseconds to schedule a tag.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "format": "int64",
           "type": "string"
         },
         "scheduleStartMs": {
-          "description": "The start timestamp in milliseconds to schedule a tag.",
+          "description": "The start timestamp in milliseconds to schedule a tag.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "format": "int64",
           "type": "string"
         },
@@ -3035,14 +3117,14 @@
         "tagFiringOption": {
           "description": "Option to fire this tag.",
           "enum": [
+            "unlimited",
             "oncePerEvent",
-            "oncePerLoad",
-            "unlimited"
+            "oncePerLoad"
           ],
           "enumDescriptions": [
-            "",
-            "",
-            ""
+            "Tag can be fired multiple times per event.",
+            "Tag can only be fired per event but can be fired multiple times per load\n(e.g., app load or page load).",
+            "Tag can only be fired per load (e.g., app load or page load)."
           ],
           "type": "string"
         },
@@ -3063,7 +3145,7 @@
               "tagmanager.accounts.containers.tags.create"
             ]
           },
-          "description": "GTM Tag Type.",
+          "description": "GTM Tag Type.\n@mutable tagmanager.accounts.containers.tags.create\n@mutable tagmanager.accounts.containers.tags.update",
           "type": "string"
         }
       },
@@ -3073,7 +3155,7 @@
       "id": "TeardownTag",
       "properties": {
         "stopTeardownOnFailure": {
-          "description": "If true, fire the teardown tag if and only if the main tag fires successfully. If false, fire the teardown tag regardless of main tag firing status.",
+          "description": "If true, fire the teardown tag if and only if the main tag fires\nsuccessfully.\nIf false, fire the teardown tag regardless of main tag firing status.",
           "type": "boolean"
         },
         "tagName": {
@@ -3092,7 +3174,7 @@
           "type": "string"
         },
         "autoEventFilter": {
-          "description": "Used in the case of auto event tracking.",
+          "description": "Used in the case of auto event tracking.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update",
           "items": {
             "$ref": "Condition"
           },
@@ -3100,7 +3182,7 @@
         },
         "checkValidation": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "Whether or not we should only fire tags if the form submit or link click\nevent is not cancelled by some other event handler (e.g. because of\nvalidation). Only valid for Form Submission and Link Click triggers.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "containerId": {
           "description": "GTM Container ID.",
@@ -3108,10 +3190,10 @@
         },
         "continuousTimeMinMilliseconds": {
           "$ref": "Parameter",
-          "description": "A visibility trigger minimum continuous visible time (in milliseconds). Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger minimum continuous visible time (in milliseconds).\nOnly valid for AMP Visibility trigger.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "customEventFilter": {
-          "description": "Used in the case of custom event, which is fired iff all Conditions are true.",
+          "description": "Used in the case of custom event, which is fired iff all Conditions are\ntrue.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update",
           "items": {
             "$ref": "Condition"
           },
@@ -3119,38 +3201,38 @@
         },
         "eventName": {
           "$ref": "Parameter",
-          "description": "Name of the GTM event that is fired. Only valid for Timer triggers."
+          "description": "Name of the GTM event that is fired. Only valid for Timer triggers.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "filter": {
-          "description": "The trigger will only fire iff all Conditions are true.",
+          "description": "The trigger will only fire iff all Conditions are true.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update",
           "items": {
             "$ref": "Condition"
           },
           "type": "array"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.",
+          "description": "The fingerprint of the GTM Trigger as computed at storage time.\nThis value is recomputed whenever the trigger is modified.",
           "type": "string"
         },
         "horizontalScrollPercentageList": {
           "$ref": "Parameter",
-          "description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled horizontally. Only valid for AMP scroll triggers."
+          "description": "List of integer percentage values for scroll triggers. The trigger will\nfire when each percentage is reached when the view is scrolled\nhorizontally. Only valid for AMP scroll triggers.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "interval": {
           "$ref": "Parameter",
-          "description": "Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers."
+          "description": "Time between triggering recurring Timer Events (in milliseconds). Only\nvalid for Timer triggers.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "intervalSeconds": {
           "$ref": "Parameter",
-          "description": "Time between Timer Events to fire (in seconds). Only valid for AMP Timer trigger."
+          "description": "Time between Timer Events to fire (in seconds). Only valid for AMP Timer\ntrigger.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "limit": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "Limit of the number of GTM events this Timer Trigger will fire. If no limit\nis set, we will continue to fire GTM events until the user leaves the page.\nOnly valid for Timer triggers.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "maxTimerLengthSeconds": {
           "$ref": "Parameter",
-          "description": "Max time to fire Timer Events (in seconds). Only valid for AMP Timer trigger."
+          "description": "Max time to fire Timer Events (in seconds). Only valid for AMP Timer\ntrigger.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "name": {
           "annotations": {
@@ -3159,11 +3241,11 @@
               "tagmanager.accounts.containers.triggers.update"
             ]
           },
-          "description": "Trigger display name.",
+          "description": "Trigger display name.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update",
           "type": "string"
         },
         "parameter": {
-          "description": "Additional parameters.",
+          "description": "Additional parameters.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -3175,11 +3257,11 @@
         },
         "selector": {
           "$ref": "Parameter",
-          "description": "A click trigger CSS selector (i.e. \"a\", \"button\" etc.). Only valid for AMP Click trigger."
+          "description": "A click trigger CSS selector (i.e. \"a\", \"button\" etc.). Only valid for AMP\nClick trigger.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "totalTimeMinMilliseconds": {
           "$ref": "Parameter",
-          "description": "A visibility trigger minimum total visible time (in milliseconds). Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger minimum total visible time (in milliseconds).\nOnly valid for AMP Visibility trigger.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "triggerId": {
           "description": "The Trigger ID uniquely identifies the GTM Trigger.",
@@ -3191,27 +3273,27 @@
               "tagmanager.accounts.containers.triggers.create"
             ]
           },
-          "description": "Defines the data layer event that causes this trigger.",
+          "description": "Defines the data layer event that causes this trigger.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update",
           "enum": [
-            "always",
-            "ampClick",
-            "ampScroll",
-            "ampTimer",
-            "ampVisibility",
-            "click",
-            "customEvent",
-            "domReady",
-            "elementVisibility",
-            "formSubmission",
-            "historyChange",
-            "jsError",
-            "linkClick",
             "pageview",
-            "scrollDepth",
-            "timer",
-            "triggerGroup",
+            "domReady",
             "windowLoaded",
-            "youTubeVideo"
+            "customEvent",
+            "triggerGroup",
+            "always",
+            "formSubmission",
+            "click",
+            "linkClick",
+            "jsError",
+            "historyChange",
+            "timer",
+            "ampClick",
+            "ampTimer",
+            "ampScroll",
+            "ampVisibility",
+            "youTubeVideo",
+            "scrollDepth",
+            "elementVisibility"
           ],
           "enumDescriptions": [
             "",
@@ -3238,31 +3320,31 @@
         },
         "uniqueTriggerId": {
           "$ref": "Parameter",
-          "description": "Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) 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 Submit, Link Click and Timer triggers."
+          "description": "Globally unique id of the trigger that auto-generates this (a Form Submit,\nLink Click or Timer listener) if any. Used to make incompatible auto-events\nwork together with trigger filtering based on trigger ids. This value is\npopulated during output generation since the tags implied by triggers don't\nexist until then. Only valid for Form Submit, Link Click and Timer\ntriggers.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "verticalScrollPercentageList": {
           "$ref": "Parameter",
-          "description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled vertically. Only valid for AMP scroll triggers."
+          "description": "List of integer percentage values for scroll triggers. The trigger will\nfire when each percentage is reached when the view is scrolled vertically.\nOnly valid for AMP scroll triggers.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "visibilitySelector": {
           "$ref": "Parameter",
-          "description": "A visibility trigger CSS selector (i.e. \"#id\"). Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger CSS selector (i.e. \"#id\"). Only valid for AMP\nVisibility trigger.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "visiblePercentageMax": {
           "$ref": "Parameter",
-          "description": "A visibility trigger maximum percent visibility. Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger maximum percent visibility. Only valid for AMP\nVisibility trigger.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "visiblePercentageMin": {
           "$ref": "Parameter",
-          "description": "A visibility trigger minimum percent visibility. Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger minimum percent visibility. Only valid for AMP\nVisibility trigger.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "waitForTags": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "Whether or not we should delay the form submissions or link opening\nuntil all of the tags have fired (by preventing the default\naction and later simulating the default action). Only valid for\nForm Submission and Link Click triggers.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         },
         "waitForTagsTimeout": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "How long to wait (in milliseconds) for tags to fire when 'waits_for_tags'\nabove evaluates to \u003ccode\u003etrue\u003c/code\u003e.  Only valid for Form Submission and\nLink Click triggers.\n@mutable tagmanager.accounts.containers.triggers.create\n@mutable tagmanager.accounts.containers.triggers.update"
         }
       },
       "type": "object"
@@ -3278,14 +3360,14 @@
               "tagmanager.accounts.permissions.create"
             ]
           },
-          "description": "GTM Account access permissions."
+          "description": "GTM Account access permissions.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update"
         },
         "accountId": {
           "description": "GTM Account ID.",
           "type": "string"
         },
         "containerAccess": {
-          "description": "GTM Container access permissions.",
+          "description": "GTM Container access permissions.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update",
           "items": {
             "$ref": "ContainerAccess"
           },
@@ -3297,7 +3379,7 @@
               "tagmanager.accounts.permissions.create"
             ]
           },
-          "description": "User's email address.",
+          "description": "User's email address.\n@mutable tagmanager.accounts.permissions.create",
           "type": "string"
         },
         "permissionId": {
@@ -3320,21 +3402,21 @@
           "type": "string"
         },
         "disablingTriggerId": {
-          "description": "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.",
+          "description": "For mobile containers only: A list of trigger IDs for disabling conditional\nvariables; the variable is enabled if one of the enabling trigger is true\nwhile all the disabling trigger are false. Treated as an unordered set.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "enablingTriggerId": {
-          "description": "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.",
+          "description": "For mobile containers only: A list of trigger IDs for enabling conditional\nvariables; the variable is enabled if one of the enabling triggers is true\nwhile all the disabling triggers are false. Treated as an unordered set.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.",
+          "description": "The fingerprint of the GTM Variable as computed at storage time.\nThis value is recomputed whenever the variable is modified.",
           "type": "string"
         },
         "name": {
@@ -3344,15 +3426,15 @@
               "tagmanager.accounts.containers.variables.update"
             ]
           },
-          "description": "Variable display name.",
+          "description": "Variable display name.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update",
           "type": "string"
         },
         "notes": {
-          "description": "User notes on how to apply this variable in the container.",
+          "description": "User notes on how to apply this variable in the container.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update",
           "type": "string"
         },
         "parameter": {
-          "description": "The variable's parameters.",
+          "description": "The variable's parameters.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -3363,12 +3445,12 @@
           "type": "string"
         },
         "scheduleEndMs": {
-          "description": "The end timestamp in milliseconds to schedule a variable.",
+          "description": "The end timestamp in milliseconds to schedule a variable.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update",
           "format": "int64",
           "type": "string"
         },
         "scheduleStartMs": {
-          "description": "The start timestamp in milliseconds to schedule a variable.",
+          "description": "The start timestamp in milliseconds to schedule a variable.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update",
           "format": "int64",
           "type": "string"
         },
@@ -3379,7 +3461,7 @@
               "tagmanager.accounts.containers.variables.update"
             ]
           },
-          "description": "GTM Variable Type.",
+          "description": "GTM Variable Type.\n@mutable tagmanager.accounts.containers.variables.create\n@mutable tagmanager.accounts.containers.variables.update",
           "type": "string"
         },
         "variableId": {
@@ -3390,7 +3472,7 @@
       "type": "object"
     }
   },
-  "servicePath": "tagmanager/v1/",
+  "servicePath": "",
   "title": "Tag Manager API",
   "version": "v1"
 }
\ No newline at end of file
diff --git a/tagmanager/v1/tagmanager-gen.go b/tagmanager/v1/tagmanager-gen.go
index 0473fff..514dc51 100644
--- a/tagmanager/v1/tagmanager-gen.go
+++ b/tagmanager/v1/tagmanager-gen.go
@@ -6,7 +6,7 @@
 
 // Package tagmanager provides access to the Tag Manager API.
 //
-// For product documentation, see: https://developers.google.com/tag-manager/api/v1/
+// For product documentation, see: https://developers.google.com/tag-manager
 //
 // Creating a client
 //
@@ -76,7 +76,7 @@
 const apiId = "tagmanager:v1"
 const apiName = "tagmanager"
 const apiVersion = "v1"
-const basePath = "https://www.googleapis.com/tagmanager/v1/"
+const basePath = "https://www.googleapis.com/"
 
 // OAuth2 scopes used by this API.
 const (
@@ -307,15 +307,19 @@
 	AccountId string `json:"accountId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Account as computed at
-	// storage time. This value is recomputed whenever the account is
-	// modified.
+	// storage time.
+	// This value is recomputed whenever the account is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: Account display name.
+	// @mutable tagmanager.accounts.create
+	// @mutable tagmanager.accounts.update
 	Name string `json:"name,omitempty"`
 
 	// ShareData: Whether the account shares data anonymously with Google
 	// and others.
+	// @mutable tagmanager.accounts.create
+	// @mutable tagmanager.accounts.update
 	ShareData bool `json:"shareData,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -348,16 +352,19 @@
 // AccountAccess: Defines the Google Tag Manager Account access
 // permissions.
 type AccountAccess struct {
-	// Permission: List of Account permissions. Valid account permissions
-	// are read and manage.
+	// Permission: List of Account permissions.
+	// Valid account permissions are <code>read</code> and
+	// <code>manage</code>.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	//
 	// Possible values:
-	//   "delete"
-	//   "edit"
-	//   "editWorkspace"
-	//   "manage"
-	//   "publish"
 	//   "read"
+	//   "edit"
+	//   "publish"
+	//   "delete"
+	//   "manage"
+	//   "editWorkspace"
 	Permission []string `json:"permission,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Permission") to
@@ -386,31 +393,45 @@
 // Condition: Represents a predicate.
 type Condition struct {
 	// 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
-	// variable.
-	// - 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.
+	// condition's type.
+	// Notes:<ul>
+	// <li>For binary operators, include parameters named <code>arg0</code>
+	// and
+	//    <code>arg1</code> for specifying the left and right operands,
+	//    respectively.</li>
+	// <li>At this time, the left operand (<code>arg0</code>) must be a
+	// reference
+	//     to a variable.</li>
+	// <li>For case-insensitive Regex matching, include a boolean parameter
+	// named
+	//     <code>ignore_case</code> that is set to <code>true</code>.
+	//     If not specified or set to any other value, the matching will be
+	// case
+	//     sensitive.</li>
+	// <li>To negate an operator, include a boolean parameter named
+	//     <code>negate</code> boolean parameter that is set to
+	// <code>true</code>.
+	//     </li>
+	// </ul>
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	Parameter []*Parameter `json:"parameter,omitempty"`
 
 	// Type: The type of operator for this condition.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	//
 	// Possible values:
-	//   "contains"
-	//   "cssSelector"
-	//   "endsWith"
 	//   "equals"
+	//   "contains"
+	//   "startsWith"
+	//   "endsWith"
+	//   "matchRegex"
 	//   "greater"
 	//   "greaterOrEquals"
 	//   "less"
 	//   "lessOrEquals"
-	//   "matchRegex"
-	//   "startsWith"
+	//   "cssSelector"
 	//   "urlMatches"
 	Type string `json:"type,omitempty"`
 
@@ -447,62 +468,92 @@
 
 	// DomainName: Optional list of domain names associated with the
 	// Container.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	DomainName []string `json:"domainName,omitempty"`
 
 	// EnabledBuiltInVariable: List of enabled built-in variables. Valid
-	// values include: pageUrl, pageHostname, pagePath, referrer, event,
-	// clickElement, clickClasses, clickId, clickTarget, clickUrl,
-	// clickText, formElement, formClasses, formId, formTarget, formUrl,
-	// formText, errorMessage, errorUrl, errorLine, newHistoryFragment,
-	// oldHistoryFragment, newHistoryState, oldHistoryState, historySource,
-	// containerVersion, debugMode, randomNumber, containerId.
+	// values include: <code>pageUrl,
+	// pageHostname, pagePath, referrer, event, clickElement,
+	// clickClasses,
+	// clickId, clickTarget, clickUrl, clickText, formElement,
+	// formClasses,
+	// formId, formTarget, formUrl, formText, errorMessage, errorUrl,
+	// errorLine,
+	// newHistoryFragment, oldHistoryFragment, newHistoryState,
+	// oldHistoryState,
+	// historySource, containerVersion, debugMode,
+	// randomNumber,
+	// containerId</code>.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	//
 	// Possible values:
-	//   "advertiserId"
-	//   "advertisingTrackingEnabled"
-	//   "ampBrowserLanguage"
-	//   "ampCanonicalHost"
-	//   "ampCanonicalPath"
-	//   "ampCanonicalUrl"
-	//   "ampClientId"
-	//   "ampClientMaxScrollX"
-	//   "ampClientMaxScrollY"
-	//   "ampClientScreenHeight"
-	//   "ampClientScreenWidth"
-	//   "ampClientScrollX"
-	//   "ampClientScrollY"
-	//   "ampClientTimestamp"
-	//   "ampClientTimezone"
-	//   "ampGtmEvent"
-	//   "ampPageDownloadTime"
-	//   "ampPageLoadTime"
-	//   "ampPageViewId"
-	//   "ampReferrer"
-	//   "ampTitle"
-	//   "ampTotalEngagedTime"
+	//   "pageUrl"
+	//   "pageHostname"
+	//   "pagePath"
+	//   "referrer"
+	//   "event" - For web or mobile.
+	//   "clickElement"
+	//   "clickClasses"
+	//   "clickId"
+	//   "clickTarget"
+	//   "clickUrl"
+	//   "clickText"
+	//   "formElement"
+	//   "formClasses"
+	//   "formId"
+	//   "formTarget"
+	//   "formUrl"
+	//   "formText"
+	//   "environmentName"
+	//   "errorMessage"
+	//   "errorUrl"
+	//   "errorLine"
+	//   "newHistoryUrl"
+	//   "oldHistoryUrl"
+	//   "newHistoryFragment"
+	//   "oldHistoryFragment"
+	//   "newHistoryState"
+	//   "oldHistoryState"
+	//   "historySource"
+	//   "containerVersion" - For web or mobile.
+	//   "debugMode"
+	//   "randomNumber" - For web or mobile.
+	//   "containerId" - For web or mobile.
 	//   "appId"
 	//   "appName"
 	//   "appVersionCode"
 	//   "appVersionName"
-	//   "clickClasses"
-	//   "clickElement"
-	//   "clickId"
-	//   "clickTarget"
-	//   "clickText"
-	//   "clickUrl"
-	//   "containerId"
-	//   "containerVersion"
-	//   "debugMode"
+	//   "language"
+	//   "osVersion"
+	//   "platform"
+	//   "sdkVersion"
 	//   "deviceName"
-	//   "elementVisibilityFirstTime"
-	//   "elementVisibilityRatio"
-	//   "elementVisibilityRecentTime"
-	//   "elementVisibilityTime"
-	//   "environmentName"
-	//   "errorLine"
-	//   "errorMessage"
-	//   "errorUrl"
-	//   "event"
+	//   "resolution"
+	//   "advertiserId"
+	//   "advertisingTrackingEnabled"
+	//   "htmlId"
+	//   "ampBrowserLanguage"
+	//   "ampCanonicalPath"
+	//   "ampCanonicalUrl"
+	//   "ampCanonicalHost"
+	//   "ampReferrer"
+	//   "ampTitle"
+	//   "ampClientId"
+	//   "ampClientTimezone"
+	//   "ampClientTimestamp"
+	//   "ampClientScreenWidth"
+	//   "ampClientScreenHeight"
+	//   "ampClientScrollX"
+	//   "ampClientScrollY"
+	//   "ampClientMaxScrollX"
+	//   "ampClientMaxScrollY"
+	//   "ampTotalEngagedTime"
+	//   "ampPageViewId"
+	//   "ampPageLoadTime"
+	//   "ampPageDownloadTime"
+	//   "ampGtmEvent"
 	//   "eventName"
 	//   "firebaseEventParameterCampaign"
 	//   "firebaseEventParameterCampaignAclid"
@@ -527,73 +578,64 @@
 	//   "firebaseEventParameterProductId"
 	//   "firebaseEventParameterQuantity"
 	//   "firebaseEventParameterValue"
-	//   "formClasses"
-	//   "formElement"
-	//   "formId"
-	//   "formTarget"
-	//   "formText"
-	//   "formUrl"
-	//   "historySource"
-	//   "htmlId"
-	//   "language"
-	//   "newHistoryFragment"
-	//   "newHistoryState"
-	//   "newHistoryUrl"
-	//   "oldHistoryFragment"
-	//   "oldHistoryState"
-	//   "oldHistoryUrl"
-	//   "osVersion"
-	//   "pageHostname"
-	//   "pagePath"
-	//   "pageUrl"
-	//   "platform"
-	//   "randomNumber"
-	//   "referrer"
-	//   "resolution"
-	//   "scrollDepthDirection"
-	//   "scrollDepthThreshold"
-	//   "scrollDepthUnits"
-	//   "sdkVersion"
-	//   "videoCurrentTime"
+	//   "videoProvider"
+	//   "videoUrl"
+	//   "videoTitle"
 	//   "videoDuration"
 	//   "videoPercent"
-	//   "videoProvider"
-	//   "videoStatus"
-	//   "videoTitle"
-	//   "videoUrl"
 	//   "videoVisible"
+	//   "videoStatus"
+	//   "videoCurrentTime"
+	//   "scrollDepthThreshold"
+	//   "scrollDepthUnits"
+	//   "scrollDepthDirection"
+	//   "elementVisibilityRatio"
+	//   "elementVisibilityTime"
+	//   "elementVisibilityFirstTime"
+	//   "elementVisibilityRecentTime"
 	EnabledBuiltInVariable []string `json:"enabledBuiltInVariable,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Container as computed at
-	// storage time. This value is recomputed whenever the account is
-	// modified.
+	// storage time.  This
+	// value is recomputed whenever the account is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: Container display name.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	Name string `json:"name,omitempty"`
 
 	// Notes: Container Notes.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	Notes string `json:"notes,omitempty"`
 
 	// PublicId: Container Public ID.
 	PublicId string `json:"publicId,omitempty"`
 
 	// TimeZoneCountryId: Container Country ID.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	TimeZoneCountryId string `json:"timeZoneCountryId,omitempty"`
 
 	// TimeZoneId: Container Time Zone ID.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	TimeZoneId string `json:"timeZoneId,omitempty"`
 
 	// UsageContext: List of Usage Contexts for the Container. Valid values
-	// include: web, android, ios.
+	// include: <code>web,
+	// android, ios</code>.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	//
 	// Possible values:
-	//   "amp"
-	//   "android"
-	//   "androidSdk5"
-	//   "ios"
-	//   "iosSdk5"
 	//   "web"
+	//   "android"
+	//   "ios"
+	//   "androidSdk5"
+	//   "iosSdk5"
+	//   "amp"
 	UsageContext []string `json:"usageContext,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -627,18 +669,23 @@
 // permissions.
 type ContainerAccess struct {
 	// ContainerId: GTM Container ID.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	ContainerId string `json:"containerId,omitempty"`
 
-	// Permission: List of Container permissions. Valid container
-	// permissions are: read, edit, delete, publish.
+	// Permission: List of Container permissions.
+	// Valid container permissions are: <code>read, edit, delete,
+	// publish</code>.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	//
 	// Possible values:
-	//   "delete"
-	//   "edit"
-	//   "editWorkspace"
-	//   "manage"
-	//   "publish"
 	//   "read"
+	//   "edit"
+	//   "publish"
+	//   "delete"
+	//   "manage"
+	//   "editWorkspace"
 	Permission []string `json:"permission,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ContainerId") to
@@ -684,8 +731,10 @@
 	Deleted bool `json:"deleted,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Container Version as computed
-	// at storage time. This value is recomputed whenever the container
-	// version is modified.
+	// at
+	// storage time. This value is recomputed whenever the container version
+	// is
+	// modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Folder: The folders in the container that this version was taken
@@ -696,10 +745,13 @@
 	Macro []*Macro `json:"macro,omitempty"`
 
 	// Name: Container version display name.
+	// @mutable tagmanager.accounts.containers.versions.update
 	Name string `json:"name,omitempty"`
 
-	// Notes: User notes on how to apply this container version in the
+	// Notes: User notes on how to apply this container version in
+	// the
 	// container.
+	// @mutable tagmanager.accounts.containers.versions.update
 	Notes string `json:"notes,omitempty"`
 
 	// Rule: The rules in the container that this version was taken from.
@@ -811,7 +863,8 @@
 	Notes string `json:"notes,omitempty"`
 
 	// QuickPreview: The creation of this version may be for quick preview
-	// and shouldn't be saved.
+	// and
+	// shouldn't be saved.
 	QuickPreview bool `json:"quickPreview,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -873,9 +926,10 @@
 }
 
 // Environment: Represents a Google Tag Manager Environment. Note that a
-// user can create, delete and update environments of type USER, but can
-// only update the enable_debug and url fields of environments of other
-// types.
+// user can create,
+// delete and update environments of type USER, but can only update
+// the
+// enable_debug and url fields of environments of other types.
 type Environment struct {
 	// AccountId: GTM Account ID.
 	AccountId string `json:"accountId,omitempty"`
@@ -893,11 +947,16 @@
 	ContainerVersionId string `json:"containerVersionId,omitempty"`
 
 	// Description: The environment description. Can be set or changed only
-	// on USER type environments.
+	// on USER type
+	// environments.
+	// @mutable tagmanager.accounts.containers.environments.create
+	// @mutable tagmanager.accounts.containers.environments.update
 	Description string `json:"description,omitempty"`
 
 	// EnableDebug: Whether or not to enable debug by default on for the
 	// environment.
+	// @mutable tagmanager.accounts.containers.environments.create
+	// @mutable tagmanager.accounts.containers.environments.update
 	EnableDebug bool `json:"enableDebug,omitempty"`
 
 	// EnvironmentId: GTM Environment ID uniquely identifies the GTM
@@ -905,24 +964,35 @@
 	EnvironmentId string `json:"environmentId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM environment as computed at
-	// storage time. This value is recomputed whenever the environment is
-	// modified.
+	// storage time.
+	// This value is recomputed whenever the environment is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: The environment display name. Can be set or changed only on
-	// USER type environments.
+	// USER type
+	// environments.
+	// @mutable tagmanager.accounts.containers.environments.create
+	// @mutable tagmanager.accounts.containers.environments.update
 	Name string `json:"name,omitempty"`
 
 	// Type: The type of this environment.
 	//
 	// Possible values:
-	//   "draft"
-	//   "latest"
-	//   "live"
-	//   "user"
+	//   "user" - Used for user defined environments.
+	//   "live" - Used for Live environment, which points to the live
+	// published container
+	// version.
+	//   "latest" - Used for Latest environment, which points to the latest
+	// created container
+	// version.
+	//   "draft" - Used for Draft environment, which points to the single
+	// draft in
+	// the container.
 	Type string `json:"type,omitempty"`
 
 	// Url: Default preview page url for the environment.
+	// @mutable tagmanager.accounts.containers.environments.create
+	// @mutable tagmanager.accounts.containers.environments.update
 	Url string `json:"url,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -961,13 +1031,16 @@
 	ContainerId string `json:"containerId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Folder as computed at storage
-	// time. This value is recomputed whenever the folder is modified.
+	// time.
+	// This value is recomputed whenever the folder is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// FolderId: The Folder ID uniquely identifies the GTM Folder.
 	FolderId string `json:"folderId,omitempty"`
 
 	// Name: Folder display name.
+	// @mutable tagmanager.accounts.containers.folders.create
+	// @mutable tagmanager.accounts.containers.folders.update
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1337,44 +1410,65 @@
 	ContainerId string `json:"containerId,omitempty"`
 
 	// 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.
+	// 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.
+	// @mutable tagmanager.accounts.containers.macros.create
+	// @mutable tagmanager.accounts.containers.macros.update
 	DisablingRuleId []string `json:"disablingRuleId,omitempty"`
 
 	// 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.
+	// 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.
+	// @mutable tagmanager.accounts.containers.macros.create
+	// @mutable tagmanager.accounts.containers.macros.update
 	EnablingRuleId []string `json:"enablingRuleId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Macro as computed at storage
-	// time. This value is recomputed whenever the macro is modified.
+	// time.
+	// This value is recomputed whenever the macro is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// MacroId: The Macro ID uniquely identifies the GTM Macro.
 	MacroId string `json:"macroId,omitempty"`
 
 	// Name: Macro display name.
+	// @mutable tagmanager.accounts.containers.macros.create
+	// @mutable tagmanager.accounts.containers.macros.update
 	Name string `json:"name,omitempty"`
 
-	// Notes: User notes on how to apply this macro in the container.
+	// Notes: User notes on how to apply this macro in the
+	// container.
+	// @mutable tagmanager.accounts.containers.macros.create
+	// @mutable tagmanager.accounts.containers.macros.update
 	Notes string `json:"notes,omitempty"`
 
 	// Parameter: The macro's parameters.
+	// @mutable tagmanager.accounts.containers.macros.create
+	// @mutable tagmanager.accounts.containers.macros.update
 	Parameter []*Parameter `json:"parameter,omitempty"`
 
 	// ParentFolderId: Parent folder id.
 	ParentFolderId string `json:"parentFolderId,omitempty"`
 
-	// ScheduleEndMs: The end timestamp in milliseconds to schedule a macro.
+	// ScheduleEndMs: The end timestamp in milliseconds to schedule a
+	// macro.
+	// @mutable tagmanager.accounts.containers.macros.create
+	// @mutable tagmanager.accounts.containers.macros.update
 	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
 
 	// ScheduleStartMs: The start timestamp in milliseconds to schedule a
 	// macro.
+	// @mutable tagmanager.accounts.containers.macros.create
+	// @mutable tagmanager.accounts.containers.macros.update
 	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
 
 	// Type: GTM Macro Type.
+	// @mutable tagmanager.accounts.containers.macros.create
+	// @mutable tagmanager.accounts.containers.macros.update
 	Type string `json:"type,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AccountId") to
@@ -1402,41 +1496,83 @@
 
 // Parameter: Represents a Google Tag Manager Parameter.
 type Parameter struct {
-	// Key: The named key that uniquely identifies a parameter. Required for
-	// top-level parameters, as well as map values. Ignored for list values.
+	// Key: The named key that uniquely identifies a parameter.  Required
+	// for top-level
+	// parameters, as well as map values.  Ignored for list values.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	Key string `json:"key,omitempty"`
 
-	// List: This list parameter's parameters (keys will be ignored).
+	// List: This list parameter's parameters (keys will be
+	// ignored).
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	List []*Parameter `json:"list,omitempty"`
 
 	// Map: This map parameter's parameters (must have keys; keys must be
 	// unique).
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	Map []*Parameter `json:"map,omitempty"`
 
-	// Type: The parameter type. Valid values are:
-	// - boolean: The value represents a boolean, represented as 'true' or
-	// 'false'
-	// - integer: The value represents a 64-bit signed integer value, in
-	// base 10
-	// - list: A list of parameters should be specified
-	// - map: A map of parameters should be specified
-	// - template: The value represents any text; this can include variable
-	// references (even variable references that might return non-string
-	// types)
-	// - trigger_reference: The value represents a trigger, represented as
-	// the trigger id
+	// Type: The parameter type.  Valid values
+	// are:<ul>
+	// <li><code>boolean</code>: The value represents a boolean, represented
+	// as
+	//     'true' or 'false'</li>
+	// <li><code>integer</code>: The value represents a 64-bit signed
+	// integer
+	//     value, in base 10</li>
+	// <li><code>list</code>: A list of parameters should be
+	// specified</li>
+	// <li><code>map</code>: A map of parameters should be
+	// specified</li>
+	// <li><code>template</code>: The value represents any text; this can
+	// include
+	//     variable references (even variable references that might return
+	//     non-string types)</li>
+	// <li><code>trigger_reference</code>: The value represents a trigger,
+	//     represented as the trigger id</li>
+	// </ul>
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	//
 	// Possible values:
-	//   "boolean"
+	//   "template" - May include variable references (such as
+	// "{{myVariable}}").
 	//   "integer"
+	//   "boolean"
 	//   "list"
 	//   "map"
-	//   "template"
 	//   "triggerReference"
 	Type string `json:"type,omitempty"`
 
-	// Value: A parameter's value (may contain variable references such as
-	// "{{myVariable}}") as appropriate to the specified type.
+	// Value: A parameter's value (may contain variable references such
+	// as
+	// "{{myVariable}}")
+	// as appropriate to the specified type.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	Value string `json:"value,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Key") to
@@ -1504,19 +1640,27 @@
 
 	// Condition: The list of conditions that make up this rule (implicit
 	// AND between them).
+	// @mutable tagmanager.accounts.containers.rules.create
+	// @mutable tagmanager.accounts.containers.rules.update
 	Condition []*Condition `json:"condition,omitempty"`
 
 	// ContainerId: GTM Container ID.
 	ContainerId string `json:"containerId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Rule as computed at storage
-	// time. This value is recomputed whenever the rule is modified.
+	// time.
+	// This value is recomputed whenever the rule is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: Rule display name.
+	// @mutable tagmanager.accounts.containers.rules.create
+	// @mutable tagmanager.accounts.containers.rules.update
 	Name string `json:"name,omitempty"`
 
-	// Notes: User notes on how to apply this rule in the container.
+	// Notes: User notes on how to apply this rule in the
+	// container.
+	// @mutable tagmanager.accounts.containers.rules.create
+	// @mutable tagmanager.accounts.containers.rules.update
 	Notes string `json:"notes,omitempty"`
 
 	// RuleId: The Rule ID uniquely identifies the GTM Rule.
@@ -1547,8 +1691,9 @@
 
 type SetupTag struct {
 	// StopOnSetupFailure: If true, fire the main tag if and only if the
-	// setup tag fires successfully. If false, fire the main tag regardless
-	// of setup tag firing status.
+	// setup tag fires
+	// successfully.
+	// If false, fire the main tag regardless of setup tag firing status.
 	StopOnSetupFailure bool `json:"stopOnSetupFailure,omitempty"`
 
 	// TagName: The name of the setup tag.
@@ -1584,60 +1729,95 @@
 	AccountId string `json:"accountId,omitempty"`
 
 	// BlockingRuleId: Blocking rule IDs. If any of the listed rules
-	// evaluate to true, the tag will not fire.
+	// evaluate to true, the tag
+	//     will not fire.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	BlockingRuleId []string `json:"blockingRuleId,omitempty"`
 
 	// BlockingTriggerId: Blocking trigger IDs. If any of the listed
-	// triggers evaluate to true, the tag will not fire.
+	// triggers evaluate to true, the
+	// tag
+	//     will not fire.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	BlockingTriggerId []string `json:"blockingTriggerId,omitempty"`
 
 	// ContainerId: GTM Container ID.
 	ContainerId string `json:"containerId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Tag as computed at storage
-	// time. This value is recomputed whenever the tag is modified.
+	// time.
+	// This value is recomputed whenever the tag is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// 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
+	// rules are true and
+	//     all of its <code>blockingRuleIds</code> (if any specified) are
 	// false.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	FiringRuleId []string `json:"firingRuleId,omitempty"`
 
 	// 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.
+	// listed triggers are
+	// true and all of its <code>blockingTriggerIds</code> (if any
+	// specified) are
+	// false.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	FiringTriggerId []string `json:"firingTriggerId,omitempty"`
 
 	// LiveOnly: If set to true, this tag will only fire in the live
-	// environment (e.g. not in preview or debug mode).
+	// environment (e.g. not
+	// in preview or debug mode).
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	LiveOnly bool `json:"liveOnly,omitempty"`
 
 	// Name: Tag display name.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	Name string `json:"name,omitempty"`
 
 	// Notes: User notes on how to apply this tag in the container.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	Notes string `json:"notes,omitempty"`
 
 	// Parameter: The tag's parameters.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	Parameter []*Parameter `json:"parameter,omitempty"`
 
 	// ParentFolderId: Parent folder id.
 	ParentFolderId string `json:"parentFolderId,omitempty"`
 
 	// Paused: True if the tag is paused.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	Paused bool `json:"paused,omitempty"`
 
 	// Priority: 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.
+	// 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.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	Priority *Parameter `json:"priority,omitempty"`
 
-	// ScheduleEndMs: The end timestamp in milliseconds to schedule a tag.
+	// ScheduleEndMs: The end timestamp in milliseconds to schedule a
+	// tag.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
 
 	// ScheduleStartMs: The start timestamp in milliseconds to schedule a
 	// tag.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
 
 	// SetupTag: The list of setup tags. Currently we only allow one.
@@ -1646,9 +1826,12 @@
 	// TagFiringOption: Option to fire this tag.
 	//
 	// Possible values:
-	//   "oncePerEvent"
-	//   "oncePerLoad"
-	//   "unlimited"
+	//   "unlimited" - Tag can be fired multiple times per event.
+	//   "oncePerEvent" - Tag can only be fired per event but can be fired
+	// multiple times per load
+	// (e.g., app load or page load).
+	//   "oncePerLoad" - Tag can only be fired per load (e.g., app load or
+	// page load).
 	TagFiringOption string `json:"tagFiringOption,omitempty"`
 
 	// TagId: The Tag ID uniquely identifies the GTM Tag.
@@ -1658,6 +1841,8 @@
 	TeardownTag []*TeardownTag `json:"teardownTag,omitempty"`
 
 	// Type: GTM Tag Type.
+	// @mutable tagmanager.accounts.containers.tags.create
+	// @mutable tagmanager.accounts.containers.tags.update
 	Type string `json:"type,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1689,8 +1874,9 @@
 
 type TeardownTag struct {
 	// StopTeardownOnFailure: If true, fire the teardown tag if and only if
-	// the main tag fires successfully. If false, fire the teardown tag
-	// regardless of main tag firing status.
+	// the main tag fires
+	// successfully.
+	// If false, fire the teardown tag regardless of main tag firing status.
 	StopTeardownOnFailure bool `json:"stopTeardownOnFailure,omitempty"`
 
 	// TagName: The name of the teardown tag.
@@ -1727,140 +1913,211 @@
 	AccountId string `json:"accountId,omitempty"`
 
 	// AutoEventFilter: Used in the case of auto event tracking.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	AutoEventFilter []*Condition `json:"autoEventFilter,omitempty"`
 
 	// CheckValidation: 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.
+	// 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.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	CheckValidation *Parameter `json:"checkValidation,omitempty"`
 
 	// ContainerId: GTM Container ID.
 	ContainerId string `json:"containerId,omitempty"`
 
 	// ContinuousTimeMinMilliseconds: A visibility trigger minimum
-	// continuous visible time (in milliseconds). Only valid for AMP
-	// Visibility trigger.
+	// continuous visible time (in milliseconds).
+	// Only valid for AMP Visibility trigger.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	ContinuousTimeMinMilliseconds *Parameter `json:"continuousTimeMinMilliseconds,omitempty"`
 
 	// CustomEventFilter: Used in the case of custom event, which is fired
-	// iff all Conditions are true.
+	// iff all Conditions are
+	// true.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	CustomEventFilter []*Condition `json:"customEventFilter,omitempty"`
 
 	// EventName: Name of the GTM event that is fired. Only valid for Timer
 	// triggers.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	EventName *Parameter `json:"eventName,omitempty"`
 
-	// Filter: The trigger will only fire iff all Conditions are true.
+	// Filter: The trigger will only fire iff all Conditions are
+	// true.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	Filter []*Condition `json:"filter,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Trigger as computed at
-	// storage time. This value is recomputed whenever the trigger is
-	// modified.
+	// storage time.
+	// This value is recomputed whenever the trigger is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// HorizontalScrollPercentageList: List of integer percentage values for
-	// scroll triggers. The trigger will fire when each percentage is
-	// reached when the view is scrolled horizontally. Only valid for AMP
-	// scroll triggers.
+	// scroll triggers. The trigger will
+	// fire when each percentage is reached when the view is
+	// scrolled
+	// horizontally. Only valid for AMP scroll triggers.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	HorizontalScrollPercentageList *Parameter `json:"horizontalScrollPercentageList,omitempty"`
 
 	// Interval: Time between triggering recurring Timer Events (in
-	// milliseconds). Only valid for Timer triggers.
+	// milliseconds). Only
+	// valid for Timer triggers.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	Interval *Parameter `json:"interval,omitempty"`
 
 	// IntervalSeconds: Time between Timer Events to fire (in seconds). Only
-	// valid for AMP Timer trigger.
+	// valid for AMP Timer
+	// trigger.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	IntervalSeconds *Parameter `json:"intervalSeconds,omitempty"`
 
 	// Limit: 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.
+	// fire. If no limit
+	// is set, we will continue to fire GTM events until the user leaves the
+	// page.
+	// Only valid for Timer triggers.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	Limit *Parameter `json:"limit,omitempty"`
 
 	// MaxTimerLengthSeconds: Max time to fire Timer Events (in seconds).
-	// Only valid for AMP Timer trigger.
+	// Only valid for AMP Timer
+	// trigger.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	MaxTimerLengthSeconds *Parameter `json:"maxTimerLengthSeconds,omitempty"`
 
 	// Name: Trigger display name.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	Name string `json:"name,omitempty"`
 
 	// Parameter: Additional parameters.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	Parameter []*Parameter `json:"parameter,omitempty"`
 
 	// ParentFolderId: Parent folder id.
 	ParentFolderId string `json:"parentFolderId,omitempty"`
 
 	// Selector: A click trigger CSS selector (i.e. "a", "button" etc.).
-	// Only valid for AMP Click trigger.
+	// Only valid for AMP
+	// Click trigger.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	Selector *Parameter `json:"selector,omitempty"`
 
 	// TotalTimeMinMilliseconds: A visibility trigger minimum total visible
-	// time (in milliseconds). Only valid for AMP Visibility trigger.
+	// time (in milliseconds).
+	// Only valid for AMP Visibility trigger.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	TotalTimeMinMilliseconds *Parameter `json:"totalTimeMinMilliseconds,omitempty"`
 
 	// TriggerId: The Trigger ID uniquely identifies the GTM Trigger.
 	TriggerId string `json:"triggerId,omitempty"`
 
 	// Type: Defines the data layer event that causes this trigger.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	//
 	// Possible values:
-	//   "always"
-	//   "ampClick"
-	//   "ampScroll"
-	//   "ampTimer"
-	//   "ampVisibility"
-	//   "click"
-	//   "customEvent"
-	//   "domReady"
-	//   "elementVisibility"
-	//   "formSubmission"
-	//   "historyChange"
-	//   "jsError"
-	//   "linkClick"
 	//   "pageview"
-	//   "scrollDepth"
-	//   "timer"
-	//   "triggerGroup"
+	//   "domReady"
 	//   "windowLoaded"
+	//   "customEvent"
+	//   "triggerGroup"
+	//   "always"
+	//   "formSubmission"
+	//   "click"
+	//   "linkClick"
+	//   "jsError"
+	//   "historyChange"
+	//   "timer"
+	//   "ampClick"
+	//   "ampTimer"
+	//   "ampScroll"
+	//   "ampVisibility"
 	//   "youTubeVideo"
+	//   "scrollDepth"
+	//   "elementVisibility"
 	Type string `json:"type,omitempty"`
 
 	// UniqueTriggerId: Globally unique id of the trigger that
-	// auto-generates this (a Form Submit, Link Click or Timer listener) 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 Submit, Link Click and Timer triggers.
+	// auto-generates this (a Form Submit,
+	// Link Click or Timer listener) 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 Submit, Link Click and
+	// Timer
+	// triggers.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	UniqueTriggerId *Parameter `json:"uniqueTriggerId,omitempty"`
 
 	// VerticalScrollPercentageList: List of integer percentage values for
-	// scroll triggers. The trigger will fire when each percentage is
-	// reached when the view is scrolled vertically. Only valid for AMP
-	// scroll triggers.
+	// scroll triggers. The trigger will
+	// fire when each percentage is reached when the view is scrolled
+	// vertically.
+	// Only valid for AMP scroll triggers.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	VerticalScrollPercentageList *Parameter `json:"verticalScrollPercentageList,omitempty"`
 
 	// VisibilitySelector: A visibility trigger CSS selector (i.e. "#id").
-	// Only valid for AMP Visibility trigger.
+	// Only valid for AMP
+	// Visibility trigger.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	VisibilitySelector *Parameter `json:"visibilitySelector,omitempty"`
 
 	// VisiblePercentageMax: A visibility trigger maximum percent
-	// visibility. Only valid for AMP Visibility trigger.
+	// visibility. Only valid for AMP
+	// Visibility trigger.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	VisiblePercentageMax *Parameter `json:"visiblePercentageMax,omitempty"`
 
 	// VisiblePercentageMin: A visibility trigger minimum percent
-	// visibility. Only valid for AMP Visibility trigger.
+	// visibility. Only valid for AMP
+	// Visibility trigger.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	VisiblePercentageMin *Parameter `json:"visiblePercentageMin,omitempty"`
 
 	// WaitForTags: 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.
+	// 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.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	WaitForTags *Parameter `json:"waitForTags,omitempty"`
 
 	// WaitForTagsTimeout: 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.
+	// fire when 'waits_for_tags'
+	// above evaluates to <code>true</code>.  Only valid for Form Submission
+	// and
+	// Link Click triggers.
+	// @mutable tagmanager.accounts.containers.triggers.create
+	// @mutable tagmanager.accounts.containers.triggers.update
 	WaitForTagsTimeout *Parameter `json:"waitForTagsTimeout,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1894,15 +2151,20 @@
 // container.
 type UserAccess struct {
 	// AccountAccess: GTM Account access permissions.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	AccountAccess *AccountAccess `json:"accountAccess,omitempty"`
 
 	// AccountId: GTM Account ID.
 	AccountId string `json:"accountId,omitempty"`
 
 	// ContainerAccess: GTM Container access permissions.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	ContainerAccess []*ContainerAccess `json:"containerAccess,omitempty"`
 
 	// EmailAddress: User's email address.
+	// @mutable tagmanager.accounts.permissions.create
 	EmailAddress string `json:"emailAddress,omitempty"`
 
 	// PermissionId: Account Permission ID.
@@ -1944,29 +2206,44 @@
 	ContainerId string `json:"containerId,omitempty"`
 
 	// 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.
+	// 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.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
 	DisablingTriggerId []string `json:"disablingTriggerId,omitempty"`
 
 	// 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.
+	// 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.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
 	EnablingTriggerId []string `json:"enablingTriggerId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Variable as computed at
-	// storage time. This value is recomputed whenever the variable is
-	// modified.
+	// storage time.
+	// This value is recomputed whenever the variable is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: Variable display name.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
 	Name string `json:"name,omitempty"`
 
-	// Notes: User notes on how to apply this variable in the container.
+	// Notes: User notes on how to apply this variable in the
+	// container.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
 	Notes string `json:"notes,omitempty"`
 
 	// Parameter: The variable's parameters.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
 	Parameter []*Parameter `json:"parameter,omitempty"`
 
 	// ParentFolderId: Parent folder id.
@@ -1974,13 +2251,19 @@
 
 	// ScheduleEndMs: The end timestamp in milliseconds to schedule a
 	// variable.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
 	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
 
 	// ScheduleStartMs: The start timestamp in milliseconds to schedule a
 	// variable.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
 	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
 
 	// Type: GTM Variable Type.
+	// @mutable tagmanager.accounts.containers.variables.create
+	// @mutable tagmanager.accounts.containers.variables.update
 	Type string `json:"type,omitempty"`
 
 	// VariableId: The Variable ID uniquely identifies the GTM Variable.
@@ -2078,7 +2361,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -2130,6 +2413,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Account.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.get",
 	//   "parameterOrder": [
@@ -2143,7 +2427,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}",
 	//   "response": {
 	//     "$ref": "Account"
 	//   },
@@ -2219,7 +2503,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -2268,9 +2552,12 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Accounts that a user has access to.",
+	//   "flatPath": "tagmanager/v1/accounts",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.list",
-	//   "path": "accounts",
+	//   "parameterOrder": [],
+	//   "parameters": {},
+	//   "path": "tagmanager/v1/accounts",
 	//   "response": {
 	//     "$ref": "ListAccountsResponse"
 	//   },
@@ -2303,8 +2590,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the account in
-// storage.
+// this fingerprint must match the fingerprint of the account
+// in storage.
 func (c *AccountsUpdateCall) Fingerprint(fingerprint string) *AccountsUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -2349,7 +2636,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -2401,6 +2688,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Account.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.update",
 	//   "parameterOrder": [
@@ -2414,12 +2702,12 @@
 	//       "type": "string"
 	//     },
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the account in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the account\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}",
 	//   "request": {
 	//     "$ref": "Account"
 	//   },
@@ -2491,7 +2779,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -2543,6 +2831,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.create",
 	//   "parameterOrder": [
@@ -2556,7 +2845,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers",
 	//   "request": {
 	//     "$ref": "Container"
 	//   },
@@ -2623,7 +2912,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -2651,6 +2940,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.delete",
 	//   "parameterOrder": [
@@ -2671,7 +2961,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.delete.containers"
 	//   ]
@@ -2746,7 +3036,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -2799,6 +3089,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.get",
 	//   "parameterOrder": [
@@ -2819,7 +3110,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
 	//   "response": {
 	//     "$ref": "Container"
 	//   },
@@ -2896,7 +3187,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -2948,6 +3239,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all Containers that belongs to a GTM Account.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.list",
 	//   "parameterOrder": [
@@ -2961,7 +3253,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers",
 	//   "response": {
 	//     "$ref": "ListContainersResponse"
 	//   },
@@ -2995,8 +3287,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the container in
-// storage.
+// this fingerprint must match the fingerprint of the
+// container in storage.
 func (c *AccountsContainersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -3041,7 +3333,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -3094,6 +3386,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.update",
 	//   "parameterOrder": [
@@ -3114,12 +3407,12 @@
 	//       "type": "string"
 	//     },
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the container in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer in storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
 	//   "request": {
 	//     "$ref": "Container"
 	//   },
@@ -3193,7 +3486,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/environments")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -3246,6 +3539,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Environment.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.environments.create",
 	//   "parameterOrder": [
@@ -3266,7 +3560,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/environments",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
 	//   "request": {
 	//     "$ref": "Environment"
 	//   },
@@ -3335,7 +3629,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/environments/{environmentId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -3364,6 +3658,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Environment.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.environments.delete",
 	//   "parameterOrder": [
@@ -3391,7 +3686,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -3468,7 +3763,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/environments/{environmentId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -3522,6 +3817,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Environment.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.environments.get",
 	//   "parameterOrder": [
@@ -3549,7 +3845,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
 	//   "response": {
 	//     "$ref": "Environment"
 	//   },
@@ -3628,7 +3924,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/environments")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -3681,6 +3977,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Environments of a GTM Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.environments.list",
 	//   "parameterOrder": [
@@ -3701,7 +3998,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/environments",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
 	//   "response": {
 	//     "$ref": "ListEnvironmentsResponse"
 	//   },
@@ -3737,8 +4034,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the environment in
-// storage.
+// this fingerprint must match the fingerprint of the
+// environment in storage.
 func (c *AccountsContainersEnvironmentsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersEnvironmentsUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -3783,7 +4080,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/environments/{environmentId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -3837,6 +4134,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Environment.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.environments.update",
 	//   "parameterOrder": [
@@ -3864,12 +4162,12 @@
 	//       "type": "string"
 	//     },
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the environment in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\nenvironment in storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
 	//   "request": {
 	//     "$ref": "Environment"
 	//   },
@@ -3943,7 +4241,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -3996,6 +4294,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Folder.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.folders.create",
 	//   "parameterOrder": [
@@ -4016,7 +4315,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/folders",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
 	//   "request": {
 	//     "$ref": "Folder"
 	//   },
@@ -4085,7 +4384,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders/{folderId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -4114,6 +4413,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Folder.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.folders.delete",
 	//   "parameterOrder": [
@@ -4141,7 +4441,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -4218,7 +4518,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders/{folderId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -4272,6 +4572,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Folder.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.folders.get",
 	//   "parameterOrder": [
@@ -4299,7 +4600,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
 	//   "response": {
 	//     "$ref": "Folder"
 	//   },
@@ -4378,7 +4679,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -4431,6 +4732,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Folders of a Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.folders.list",
 	//   "parameterOrder": [
@@ -4451,7 +4753,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/folders",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
 	//   "response": {
 	//     "$ref": "ListFoldersResponse"
 	//   },
@@ -4487,7 +4789,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the folder in storage.
+// this fingerprint must match the fingerprint of the folder in
+// storage.
 func (c *AccountsContainersFoldersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersFoldersUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -4532,7 +4835,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders/{folderId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -4586,6 +4889,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Folder.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.folders.update",
 	//   "parameterOrder": [
@@ -4607,7 +4911,7 @@
 	//       "type": "string"
 	//     },
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the folder in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the folder in\nstorage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -4618,7 +4922,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
 	//   "request": {
 	//     "$ref": "Folder"
 	//   },
@@ -4701,7 +5005,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -4755,6 +5059,7 @@
 	return ret, nil
 	// {
 	//   "description": "List all entities in a GTM Folder.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.folders.entities.list",
 	//   "parameterOrder": [
@@ -4782,7 +5087,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities",
 	//   "response": {
 	//     "$ref": "FolderEntities"
 	//   },
@@ -4877,7 +5182,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/move_folders/{folderId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -4906,6 +5211,7 @@
 	return nil
 	// {
 	//   "description": "Moves entities to a GTM Folder.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.move_folders.update",
 	//   "parameterOrder": [
@@ -4951,7 +5257,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/move_folders/{folderId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}",
 	//   "request": {
 	//     "$ref": "Folder"
 	//   },
@@ -5024,7 +5330,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -5078,6 +5384,7 @@
 	return ret, nil
 	// {
 	//   "description": "Re-generates the authorization code for a GTM Environment.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.reauthorize_environments.update",
 	//   "parameterOrder": [
@@ -5105,7 +5412,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}",
 	//   "request": {
 	//     "$ref": "Environment"
 	//   },
@@ -5179,7 +5486,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -5232,6 +5539,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Tag.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.tags.create",
 	//   "parameterOrder": [
@@ -5252,7 +5560,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/tags",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
 	//   "request": {
 	//     "$ref": "Tag"
 	//   },
@@ -5321,7 +5629,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags/{tagId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -5350,6 +5658,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Tag.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.tags.delete",
 	//   "parameterOrder": [
@@ -5377,7 +5686,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/tags/{tagId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -5454,7 +5763,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags/{tagId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -5508,6 +5817,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Tag.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.tags.get",
 	//   "parameterOrder": [
@@ -5535,7 +5845,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/tags/{tagId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
 	//   "response": {
 	//     "$ref": "Tag"
 	//   },
@@ -5614,7 +5924,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -5667,6 +5977,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Tags of a Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.tags.list",
 	//   "parameterOrder": [
@@ -5687,7 +5998,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/tags",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
 	//   "response": {
 	//     "$ref": "ListTagsResponse"
 	//   },
@@ -5723,7 +6034,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the tag in storage.
+// this fingerprint must match the fingerprint of the tag in
+// storage.
 func (c *AccountsContainersTagsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersTagsUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -5768,7 +6080,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags/{tagId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -5822,6 +6134,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Tag.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.tags.update",
 	//   "parameterOrder": [
@@ -5843,7 +6156,7 @@
 	//       "type": "string"
 	//     },
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the tag in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the tag in\nstorage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -5854,7 +6167,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/tags/{tagId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
 	//   "request": {
 	//     "$ref": "Tag"
 	//   },
@@ -5928,7 +6241,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -5981,6 +6294,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Trigger.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.triggers.create",
 	//   "parameterOrder": [
@@ -6001,7 +6315,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/triggers",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
 	//   "request": {
 	//     "$ref": "Trigger"
 	//   },
@@ -6070,7 +6384,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -6099,6 +6413,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Trigger.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.triggers.delete",
 	//   "parameterOrder": [
@@ -6126,7 +6441,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -6203,7 +6518,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -6257,6 +6572,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Trigger.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.triggers.get",
 	//   "parameterOrder": [
@@ -6284,7 +6600,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
 	//   "response": {
 	//     "$ref": "Trigger"
 	//   },
@@ -6363,7 +6679,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -6416,6 +6732,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Triggers of a Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.triggers.list",
 	//   "parameterOrder": [
@@ -6436,7 +6753,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/triggers",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
 	//   "response": {
 	//     "$ref": "ListTriggersResponse"
 	//   },
@@ -6472,8 +6789,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the trigger in
-// storage.
+// this fingerprint must match the fingerprint of the trigger
+// in storage.
 func (c *AccountsContainersTriggersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersTriggersUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -6518,7 +6835,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -6572,6 +6889,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Trigger.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.triggers.update",
 	//   "parameterOrder": [
@@ -6593,7 +6911,7 @@
 	//       "type": "string"
 	//     },
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the trigger in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the trigger\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -6604,7 +6922,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
 	//   "request": {
 	//     "$ref": "Trigger"
 	//   },
@@ -6678,7 +6996,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -6731,6 +7049,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Variable.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.variables.create",
 	//   "parameterOrder": [
@@ -6751,7 +7070,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/variables",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
 	//   "request": {
 	//     "$ref": "Variable"
 	//   },
@@ -6820,7 +7139,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables/{variableId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -6849,6 +7168,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Variable.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.variables.delete",
 	//   "parameterOrder": [
@@ -6876,7 +7196,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/variables/{variableId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -6953,7 +7273,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables/{variableId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -7007,6 +7327,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Variable.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.variables.get",
 	//   "parameterOrder": [
@@ -7034,7 +7355,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/variables/{variableId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
 	//   "response": {
 	//     "$ref": "Variable"
 	//   },
@@ -7113,7 +7434,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -7166,6 +7487,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Variables of a Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.variables.list",
 	//   "parameterOrder": [
@@ -7186,7 +7508,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/variables",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
 	//   "response": {
 	//     "$ref": "ListVariablesResponse"
 	//   },
@@ -7222,8 +7544,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the variable in
-// storage.
+// this fingerprint must match the fingerprint of the variable
+// in storage.
 func (c *AccountsContainersVariablesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersVariablesUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -7268,7 +7590,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables/{variableId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -7322,6 +7644,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Variable.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.variables.update",
 	//   "parameterOrder": [
@@ -7343,7 +7666,7 @@
 	//       "type": "string"
 	//     },
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the variable in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the variable\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -7354,7 +7677,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/variables/{variableId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
 	//   "request": {
 	//     "$ref": "Variable"
 	//   },
@@ -7428,7 +7751,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -7481,6 +7804,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a Container Version.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.versions.create",
 	//   "parameterOrder": [
@@ -7501,7 +7825,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/versions",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
 	//   "request": {
 	//     "$ref": "CreateContainerVersionRequestVersionOptions"
 	//   },
@@ -7570,7 +7894,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -7599,6 +7923,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a Container Version.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.versions.delete",
 	//   "parameterOrder": [
@@ -7626,7 +7951,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
 	//   ]
@@ -7703,7 +8028,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -7757,6 +8082,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a Container Version.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.versions.get",
 	//   "parameterOrder": [
@@ -7778,13 +8104,13 @@
 	//       "type": "string"
 	//     },
 	//     "containerVersionId": {
-	//       "description": "The GTM Container Version ID. Specify published to retrieve the currently published version.",
+	//       "description": "The GTM Container Version ID. Specify \u003ccode\u003epublished\u003c/code\u003e to retrieve\nthe currently published version.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
 	//   "response": {
 	//     "$ref": "ContainerVersion"
 	//   },
@@ -7878,7 +8204,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -7931,6 +8257,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all Container Versions of a GTM Container.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.versions.list",
 	//   "parameterOrder": [
@@ -7963,7 +8290,7 @@
 	//       "type": "boolean"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/versions",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
 	//   "response": {
 	//     "$ref": "ListContainerVersionsResponse"
 	//   },
@@ -7998,8 +8325,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the container version
-// in storage.
+// this fingerprint must match the fingerprint of the
+// container version in storage.
 func (c *AccountsContainersVersionsPublishCall) Fingerprint(fingerprint string) *AccountsContainersVersionsPublishCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -8039,7 +8366,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -8093,6 +8420,7 @@
 	return ret, nil
 	// {
 	//   "description": "Publishes a Container Version.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.versions.publish",
 	//   "parameterOrder": [
@@ -8120,12 +8448,12 @@
 	//       "type": "string"
 	//     },
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the container version in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish",
 	//   "response": {
 	//     "$ref": "PublishContainerVersionResponse"
 	//   },
@@ -8149,9 +8477,12 @@
 }
 
 // Restore: Restores a Container Version. This will overwrite the
-// container's current configuration (including its variables, triggers
-// and tags). The operation will not have any effect on the version that
-// is being served (i.e. the published version).
+// container's current
+// configuration (including its variables, triggers and tags). The
+// operation
+// will not have any effect on the version that is being served (i.e.
+// the
+// published version).
 func (r *AccountsContainersVersionsService) Restore(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsRestoreCall {
 	c := &AccountsContainersVersionsRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.accountId = accountId
@@ -8194,7 +8525,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -8247,7 +8578,8 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Restores a Container Version. This will overwrite the container's current configuration (including its variables, triggers and tags). The operation will not have any effect on the version that is being served (i.e. the published version).",
+	//   "description": "Restores a Container Version. This will overwrite the container's current\nconfiguration (including its variables, triggers and tags). The operation\nwill not have any effect on the version that is being served (i.e. the\npublished version).",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.versions.restore",
 	//   "parameterOrder": [
@@ -8275,7 +8607,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore",
 	//   "response": {
 	//     "$ref": "ContainerVersion"
 	//   },
@@ -8341,7 +8673,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -8395,6 +8727,7 @@
 	return ret, nil
 	// {
 	//   "description": "Undeletes a Container Version.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.versions.undelete",
 	//   "parameterOrder": [
@@ -8422,7 +8755,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete",
 	//   "response": {
 	//     "$ref": "ContainerVersion"
 	//   },
@@ -8457,8 +8790,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the container version
-// in storage.
+// this fingerprint must match the fingerprint of the
+// container version in storage.
 func (c *AccountsContainersVersionsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersVersionsUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -8503,7 +8836,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -8557,6 +8890,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a Container Version.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.versions.update",
 	//   "parameterOrder": [
@@ -8584,12 +8918,12 @@
 	//       "type": "string"
 	//     },
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the container version in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
 	//   "request": {
 	//     "$ref": "ContainerVersion"
 	//   },
@@ -8661,7 +8995,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -8713,6 +9047,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a user's Account \u0026 Container Permissions.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/permissions",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.permissions.create",
 	//   "parameterOrder": [
@@ -8726,7 +9061,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/permissions",
+	//   "path": "tagmanager/v1/accounts/{accountId}/permissions",
 	//   "request": {
 	//     "$ref": "UserAccess"
 	//   },
@@ -8752,7 +9087,8 @@
 }
 
 // Delete: Removes a user from the account, revoking access to it and
-// all of its containers.
+// all of its
+// containers.
 func (r *AccountsPermissionsService) Delete(accountId string, permissionId string) *AccountsPermissionsDeleteCall {
 	c := &AccountsPermissionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.accountId = accountId
@@ -8794,7 +9130,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions/{permissionId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -8821,7 +9157,8 @@
 	}
 	return nil
 	// {
-	//   "description": "Removes a user from the account, revoking access to it and all of its containers.",
+	//   "description": "Removes a user from the account, revoking access to it and all of its\ncontainers.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.permissions.delete",
 	//   "parameterOrder": [
@@ -8842,7 +9179,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/permissions/{permissionId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.manage.users"
 	//   ]
@@ -8917,7 +9254,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions/{permissionId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -8970,6 +9307,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a user's Account \u0026 Container Permissions.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.permissions.get",
 	//   "parameterOrder": [
@@ -8990,7 +9328,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/permissions/{permissionId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
 	//   "response": {
 	//     "$ref": "UserAccess"
 	//   },
@@ -9013,7 +9351,8 @@
 }
 
 // List: List all users that have access to the account along with
-// Account and Container Permissions granted to each of them.
+// Account and
+// Container Permissions granted to each of them.
 func (r *AccountsPermissionsService) List(accountId string) *AccountsPermissionsListCall {
 	c := &AccountsPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.accountId = accountId
@@ -9067,7 +9406,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -9118,7 +9457,8 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "List all users that have access to the account along with Account and Container Permissions granted to each of them.",
+	//   "description": "List all users that have access to the account along with Account and\nContainer Permissions granted to each of them.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/permissions",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.permissions.list",
 	//   "parameterOrder": [
@@ -9126,13 +9466,13 @@
 	//   ],
 	//   "parameters": {
 	//     "accountId": {
-	//       "description": "The GTM Account ID. @required tagmanager.accounts.permissions.list",
+	//       "description": "The GTM Account ID.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/permissions",
+	//   "path": "tagmanager/v1/accounts/{accountId}/permissions",
 	//   "response": {
 	//     "$ref": "ListAccountUsersResponse"
 	//   },
@@ -9203,7 +9543,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions/{permissionId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -9256,6 +9596,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a user's Account \u0026 Container Permissions.",
+	//   "flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.permissions.update",
 	//   "parameterOrder": [
@@ -9276,7 +9617,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts/{accountId}/permissions/{permissionId}",
+	//   "path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
 	//   "request": {
 	//     "$ref": "UserAccess"
 	//   },
diff --git a/tagmanager/v2/tagmanager-api.json b/tagmanager/v2/tagmanager-api.json
index 39d1e93..0df8c6e 100644
--- a/tagmanager/v2/tagmanager-api.json
+++ b/tagmanager/v2/tagmanager-api.json
@@ -26,17 +26,16 @@
       }
     }
   },
-  "basePath": "/tagmanager/v2/",
-  "baseUrl": "https://www.googleapis.com/tagmanager/v2/",
-  "batchPath": "batch/tagmanager/v2",
+  "basePath": "",
+  "baseUrl": "https://www.googleapis.com/",
+  "batchPath": "batch",
   "canonicalName": "Tag Manager",
-  "description": "Accesses Tag Manager accounts and containers.",
+  "description": "This API allows clients to access and modify container and tag\n     configuration.",
   "discoveryVersion": "v1",
-  "documentationLink": "https://developers.google.com/tag-manager/api/v2/",
-  "etag": "\"9eZ1uxVRThTDhLJCZHhqs3eQWz4/DTmHY5YcSH4XeouavtxWfeZiT6M\"",
+  "documentationLink": "https://developers.google.com/tag-manager",
   "icons": {
-    "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
-    "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
   },
   "id": "tagmanager:v2",
   "kind": "discovery#restDescription",
@@ -44,18 +43,45 @@
   "ownerDomain": "google.com",
   "ownerName": "Google",
   "parameters": {
-    "alt": {
-      "default": "json",
-      "description": "Data format for the response.",
+    "$.xgafv": {
+      "description": "V1 error format.",
       "enum": [
-        "json"
+        "1",
+        "2"
       ],
       "enumDescriptions": [
-        "Responses with Content-Type of application/json"
+        "v1 error format",
+        "v2 error format"
       ],
       "location": "query",
       "type": "string"
     },
+    "access_token": {
+      "description": "OAuth access token.",
+      "location": "query",
+      "type": "string"
+    },
+    "alt": {
+      "default": "json",
+      "description": "Data format for response.",
+      "enum": [
+        "json",
+        "media",
+        "proto"
+      ],
+      "enumDescriptions": [
+        "Responses with Content-Type of application/json",
+        "Media download with context-dependent Content-Type",
+        "Responses with Content-Type of application/x-protobuf"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "callback": {
+      "description": "JSONP",
+      "location": "query",
+      "type": "string"
+    },
     "fields": {
       "description": "Selector specifying which fields to include in a partial response.",
       "location": "query",
@@ -78,12 +104,17 @@
       "type": "boolean"
     },
     "quotaUser": {
-      "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
+      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
       "location": "query",
       "type": "string"
     },
-    "userIp": {
-      "description": "Deprecated. Please use quotaUser instead.",
+    "uploadType": {
+      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    },
+    "upload_protocol": {
+      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
       "location": "query",
       "type": "string"
     }
@@ -94,6 +125,7 @@
       "methods": {
         "get": {
           "description": "Gets a GTM Account.",
+          "flatPath": "tagmanager/v2/accounts/{accountsId}",
           "httpMethod": "GET",
           "id": "tagmanager.accounts.get",
           "parameterOrder": [
@@ -101,13 +133,14 @@
           ],
           "parameters": {
             "path": {
-              "description": "GTM Accounts's API relative path. Example: accounts/{account_id}",
+              "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}",
               "location": "path",
+              "pattern": "^accounts/[^/]+$",
               "required": true,
               "type": "string"
             }
           },
-          "path": "{+path}",
+          "path": "tagmanager/v2/{+path}",
           "response": {
             "$ref": "Account"
           },
@@ -119,8 +152,10 @@
         },
         "list": {
           "description": "Lists all GTM Accounts that a user has access to.",
+          "flatPath": "tagmanager/v2/accounts",
           "httpMethod": "GET",
           "id": "tagmanager.accounts.list",
+          "parameterOrder": [],
           "parameters": {
             "pageToken": {
               "description": "Continuation token for fetching the next page of results.",
@@ -128,7 +163,7 @@
               "type": "string"
             }
           },
-          "path": "accounts",
+          "path": "tagmanager/v2/accounts",
           "response": {
             "$ref": "ListAccountsResponse"
           },
@@ -140,6 +175,7 @@
         },
         "update": {
           "description": "Updates a GTM Account.",
+          "flatPath": "tagmanager/v2/accounts/{accountsId}",
           "httpMethod": "PUT",
           "id": "tagmanager.accounts.update",
           "parameterOrder": [
@@ -147,18 +183,19 @@
           ],
           "parameters": {
             "fingerprint": {
-              "description": "When provided, this fingerprint must match the fingerprint of the account in storage.",
+              "description": "When provided, this fingerprint must match the fingerprint of the account\nin storage.",
               "location": "query",
               "type": "string"
             },
             "path": {
-              "description": "GTM Accounts's API relative path. Example: accounts/{account_id}",
+              "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}",
               "location": "path",
+              "pattern": "^accounts/[^/]+$",
               "required": true,
               "type": "string"
             }
           },
-          "path": "{+path}",
+          "path": "tagmanager/v2/{+path}",
           "request": {
             "$ref": "Account"
           },
@@ -175,6 +212,7 @@
           "methods": {
             "create": {
               "description": "Creates a Container.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/containers",
               "httpMethod": "POST",
               "id": "tagmanager.accounts.containers.create",
               "parameterOrder": [
@@ -182,13 +220,14 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "GTM Account's API relative path. Example: accounts/{account_id}.",
+                  "description": "GTM Account's API relative path.\nExample: accounts/{account_id}.",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+parent}/containers",
+              "path": "tagmanager/v2/{+parent}/containers",
               "request": {
                 "$ref": "Container"
               },
@@ -201,6 +240,7 @@
             },
             "delete": {
               "description": "Deletes a Container.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}",
               "httpMethod": "DELETE",
               "id": "tagmanager.accounts.containers.delete",
               "parameterOrder": [
@@ -208,19 +248,21 @@
               ],
               "parameters": {
                 "path": {
-                  "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                  "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+/containers/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+path}",
+              "path": "tagmanager/v2/{+path}",
               "scopes": [
                 "https://www.googleapis.com/auth/tagmanager.delete.containers"
               ]
             },
             "get": {
               "description": "Gets a Container.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}",
               "httpMethod": "GET",
               "id": "tagmanager.accounts.containers.get",
               "parameterOrder": [
@@ -228,13 +270,14 @@
               ],
               "parameters": {
                 "path": {
-                  "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                  "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+/containers/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+path}",
+              "path": "tagmanager/v2/{+path}",
               "response": {
                 "$ref": "Container"
               },
@@ -245,6 +288,7 @@
             },
             "list": {
               "description": "Lists all Containers that belongs to a GTM Account.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/containers",
               "httpMethod": "GET",
               "id": "tagmanager.accounts.containers.list",
               "parameterOrder": [
@@ -257,13 +301,14 @@
                   "type": "string"
                 },
                 "parent": {
-                  "description": "GTM Accounts's API relative path. Example: accounts/{account_id}.",
+                  "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}.",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+parent}/containers",
+              "path": "tagmanager/v2/{+parent}/containers",
               "response": {
                 "$ref": "ListContainersResponse"
               },
@@ -274,6 +319,7 @@
             },
             "update": {
               "description": "Updates a Container.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}",
               "httpMethod": "PUT",
               "id": "tagmanager.accounts.containers.update",
               "parameterOrder": [
@@ -281,18 +327,19 @@
               ],
               "parameters": {
                 "fingerprint": {
-                  "description": "When provided, this fingerprint must match the fingerprint of the container in storage.",
+                  "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer in storage.",
                   "location": "query",
                   "type": "string"
                 },
                 "path": {
-                  "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                  "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+/containers/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+path}",
+              "path": "tagmanager/v2/{+path}",
               "request": {
                 "$ref": "Container"
               },
@@ -309,6 +356,7 @@
               "methods": {
                 "create": {
                   "description": "Creates a GTM Environment.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.environments.create",
                   "parameterOrder": [
@@ -316,13 +364,14 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                      "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+parent}/environments",
+                  "path": "tagmanager/v2/{+parent}/environments",
                   "request": {
                     "$ref": "Environment"
                   },
@@ -335,6 +384,7 @@
                 },
                 "delete": {
                   "description": "Deletes a GTM Environment.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}",
                   "httpMethod": "DELETE",
                   "id": "tagmanager.accounts.containers.environments.delete",
                   "parameterOrder": [
@@ -342,19 +392,21 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}",
+                      "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}",
+                  "path": "tagmanager/v2/{+path}",
                   "scopes": [
                     "https://www.googleapis.com/auth/tagmanager.edit.containers"
                   ]
                 },
                 "get": {
                   "description": "Gets a GTM Environment.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.environments.get",
                   "parameterOrder": [
@@ -362,13 +414,14 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}",
+                      "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}",
+                  "path": "tagmanager/v2/{+path}",
                   "response": {
                     "$ref": "Environment"
                   },
@@ -379,6 +432,7 @@
                 },
                 "list": {
                   "description": "Lists all GTM Environments of a GTM Container.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.environments.list",
                   "parameterOrder": [
@@ -391,13 +445,14 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                      "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+parent}/environments",
+                  "path": "tagmanager/v2/{+parent}/environments",
                   "response": {
                     "$ref": "ListEnvironmentsResponse"
                   },
@@ -408,6 +463,7 @@
                 },
                 "reauthorize": {
                   "description": "Re-generates the authorization code for a GTM Environment.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}:reauthorize",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.environments.reauthorize",
                   "parameterOrder": [
@@ -415,13 +471,14 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}",
+                      "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}:reauthorize",
+                  "path": "tagmanager/v2/{+path}:reauthorize",
                   "request": {
                     "$ref": "Environment"
                   },
@@ -434,6 +491,7 @@
                 },
                 "update": {
                   "description": "Updates a GTM Environment.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.environments.update",
                   "parameterOrder": [
@@ -441,18 +499,19 @@
                   ],
                   "parameters": {
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the environment in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the\nenvironment in storage.",
                       "location": "query",
                       "type": "string"
                     },
                     "path": {
-                      "description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}",
+                      "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}",
+                  "path": "tagmanager/v2/{+path}",
                   "request": {
                     "$ref": "Environment"
                   },
@@ -469,6 +528,7 @@
               "methods": {
                 "latest": {
                   "description": "Gets the latest container version header",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/version_headers:latest",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.version_headers.latest",
                   "parameterOrder": [
@@ -476,13 +536,14 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                      "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+parent}/version_headers:latest",
+                  "path": "tagmanager/v2/{+parent}/version_headers:latest",
                   "response": {
                     "$ref": "ContainerVersionHeader"
                   },
@@ -493,6 +554,7 @@
                 },
                 "list": {
                   "description": "Lists all Container Versions of a GTM Container.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/version_headers",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.version_headers.list",
                   "parameterOrder": [
@@ -510,13 +572,14 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                      "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+parent}/version_headers",
+                  "path": "tagmanager/v2/{+parent}/version_headers",
                   "response": {
                     "$ref": "ListContainerVersionsResponse"
                   },
@@ -532,6 +595,7 @@
               "methods": {
                 "delete": {
                   "description": "Deletes a Container Version.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}",
                   "httpMethod": "DELETE",
                   "id": "tagmanager.accounts.containers.versions.delete",
                   "parameterOrder": [
@@ -539,19 +603,21 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+                      "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}",
+                  "path": "tagmanager/v2/{+path}",
                   "scopes": [
                     "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
                   ]
                 },
                 "get": {
                   "description": "Gets a Container Version.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.versions.get",
                   "parameterOrder": [
@@ -559,18 +625,19 @@
                   ],
                   "parameters": {
                     "containerVersionId": {
-                      "description": "The GTM ContainerVersion ID. Specify published to retrieve the currently published version.",
+                      "description": "The GTM ContainerVersion ID. Specify \u003ccode\u003epublished\u003c/code\u003e to retrieve\nthe currently published version.",
                       "location": "query",
                       "type": "string"
                     },
                     "path": {
-                      "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+                      "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}",
+                  "path": "tagmanager/v2/{+path}",
                   "response": {
                     "$ref": "ContainerVersion"
                   },
@@ -582,6 +649,7 @@
                 },
                 "live": {
                   "description": "Gets the live (i.e. published) container version",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions:live",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.versions.live",
                   "parameterOrder": [
@@ -589,13 +657,14 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                      "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+parent}/versions:live",
+                  "path": "tagmanager/v2/{+parent}/versions:live",
                   "response": {
                     "$ref": "ContainerVersion"
                   },
@@ -606,6 +675,7 @@
                 },
                 "publish": {
                   "description": "Publishes a Container Version.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:publish",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.versions.publish",
                   "parameterOrder": [
@@ -613,18 +683,19 @@
                   ],
                   "parameters": {
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the container version in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
                       "location": "query",
                       "type": "string"
                     },
                     "path": {
-                      "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+                      "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}:publish",
+                  "path": "tagmanager/v2/{+path}:publish",
                   "response": {
                     "$ref": "PublishContainerVersionResponse"
                   },
@@ -633,7 +704,8 @@
                   ]
                 },
                 "set_latest": {
-                  "description": "Sets the latest version used for synchronization of workspaces when detecting conflicts and errors.",
+                  "description": "Sets the latest version used for synchronization of workspaces when\ndetecting conflicts and errors.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:set_latest",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.versions.set_latest",
                   "parameterOrder": [
@@ -641,13 +713,14 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+                      "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}:set_latest",
+                  "path": "tagmanager/v2/{+path}:set_latest",
                   "response": {
                     "$ref": "ContainerVersion"
                   },
@@ -657,6 +730,7 @@
                 },
                 "undelete": {
                   "description": "Undeletes a Container Version.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:undelete",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.versions.undelete",
                   "parameterOrder": [
@@ -664,13 +738,14 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+                      "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}:undelete",
+                  "path": "tagmanager/v2/{+path}:undelete",
                   "response": {
                     "$ref": "ContainerVersion"
                   },
@@ -680,6 +755,7 @@
                 },
                 "update": {
                   "description": "Updates a Container Version.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.versions.update",
                   "parameterOrder": [
@@ -687,18 +763,19 @@
                   ],
                   "parameters": {
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the container version in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
                       "location": "query",
                       "type": "string"
                     },
                     "path": {
-                      "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+                      "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}",
+                  "path": "tagmanager/v2/{+path}",
                   "request": {
                     "$ref": "ContainerVersion"
                   },
@@ -715,6 +792,7 @@
               "methods": {
                 "create": {
                   "description": "Creates a Workspace.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.workspaces.create",
                   "parameterOrder": [
@@ -722,13 +800,14 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                      "description": "GTM parent Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+parent}/workspaces",
+                  "path": "tagmanager/v2/{+parent}/workspaces",
                   "request": {
                     "$ref": "Workspace"
                   },
@@ -740,7 +819,8 @@
                   ]
                 },
                 "create_version": {
-                  "description": "Creates a Container Version from the entities present in the workspace, deletes the workspace, and sets the base container version to the newly created version.",
+                  "description": "Creates a Container Version from the entities present in the workspace,\ndeletes the workspace, and sets the base container version to the newly\ncreated version.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:create_version",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.workspaces.create_version",
                   "parameterOrder": [
@@ -748,13 +828,14 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                      "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}:create_version",
+                  "path": "tagmanager/v2/{+path}:create_version",
                   "request": {
                     "$ref": "CreateContainerVersionRequestVersionOptions"
                   },
@@ -767,6 +848,7 @@
                 },
                 "delete": {
                   "description": "Deletes a Workspace.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}",
                   "httpMethod": "DELETE",
                   "id": "tagmanager.accounts.containers.workspaces.delete",
                   "parameterOrder": [
@@ -774,19 +856,21 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                      "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}",
+                  "path": "tagmanager/v2/{+path}",
                   "scopes": [
                     "https://www.googleapis.com/auth/tagmanager.delete.containers"
                   ]
                 },
                 "get": {
                   "description": "Gets a Workspace.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.workspaces.get",
                   "parameterOrder": [
@@ -794,13 +878,14 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                      "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}",
+                  "path": "tagmanager/v2/{+path}",
                   "response": {
                     "$ref": "Workspace"
                   },
@@ -811,6 +896,7 @@
                 },
                 "getStatus": {
                   "description": "Finds conflicting and modified entities in the workspace.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/status",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.workspaces.getStatus",
                   "parameterOrder": [
@@ -818,13 +904,14 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                      "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}/status",
+                  "path": "tagmanager/v2/{+path}/status",
                   "response": {
                     "$ref": "GetWorkspaceStatusResponse"
                   },
@@ -835,6 +922,7 @@
                 },
                 "list": {
                   "description": "Lists all Workspaces that belong to a GTM Container.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces",
                   "httpMethod": "GET",
                   "id": "tagmanager.accounts.containers.workspaces.list",
                   "parameterOrder": [
@@ -847,13 +935,14 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+                      "description": "GTM parent Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+parent}/workspaces",
+                  "path": "tagmanager/v2/{+parent}/workspaces",
                   "response": {
                     "$ref": "ListWorkspacesResponse"
                   },
@@ -863,7 +952,8 @@
                   ]
                 },
                 "quick_preview": {
-                  "description": "Quick previews a workspace by creating a fake container version from all entities in the provided workspace.",
+                  "description": "Quick previews a workspace by creating a fake container version from all\nentities in the provided workspace.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:quick_preview",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.workspaces.quick_preview",
                   "parameterOrder": [
@@ -871,13 +961,14 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                      "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}:quick_preview",
+                  "path": "tagmanager/v2/{+path}:quick_preview",
                   "response": {
                     "$ref": "QuickPreviewResponse"
                   },
@@ -886,7 +977,8 @@
                   ]
                 },
                 "resolve_conflict": {
-                  "description": "Resolves a merge conflict for a workspace entity by updating it to the resolved entity passed in the request.",
+                  "description": "Resolves a merge conflict for a workspace entity by updating it to the\nresolved entity passed in the request.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:resolve_conflict",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.workspaces.resolve_conflict",
                   "parameterOrder": [
@@ -894,18 +986,19 @@
                   ],
                   "parameters": {
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the entity_in_workspace in the merge conflict.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the\nentity_in_workspace in the merge conflict.",
                       "location": "query",
                       "type": "string"
                     },
                     "path": {
-                      "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                      "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}:resolve_conflict",
+                  "path": "tagmanager/v2/{+path}:resolve_conflict",
                   "request": {
                     "$ref": "Entity"
                   },
@@ -914,7 +1007,8 @@
                   ]
                 },
                 "sync": {
-                  "description": "Syncs a workspace to the latest container version by updating all unmodified workspace entities and displaying conflicts for modified entities.",
+                  "description": "Syncs a workspace to the latest container version by updating all\nunmodified workspace entities and displaying conflicts for modified\nentities.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:sync",
                   "httpMethod": "POST",
                   "id": "tagmanager.accounts.containers.workspaces.sync",
                   "parameterOrder": [
@@ -922,13 +1016,14 @@
                   ],
                   "parameters": {
                     "path": {
-                      "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                      "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}:sync",
+                  "path": "tagmanager/v2/{+path}:sync",
                   "response": {
                     "$ref": "SyncWorkspaceResponse"
                   },
@@ -938,6 +1033,7 @@
                 },
                 "update": {
                   "description": "Updates a Workspace.",
+                  "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}",
                   "httpMethod": "PUT",
                   "id": "tagmanager.accounts.containers.workspaces.update",
                   "parameterOrder": [
@@ -945,18 +1041,19 @@
                   ],
                   "parameters": {
                     "fingerprint": {
-                      "description": "When provided, this fingerprint must match the fingerprint of the workspace in storage.",
+                      "description": "When provided, this fingerprint must match the fingerprint of the\nworkspace in storage.",
                       "location": "query",
                       "type": "string"
                     },
                     "path": {
-                      "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                      "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                       "location": "path",
+                      "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                       "required": true,
                       "type": "string"
                     }
                   },
-                  "path": "{+path}",
+                  "path": "tagmanager/v2/{+path}",
                   "request": {
                     "$ref": "Workspace"
                   },
@@ -973,6 +1070,7 @@
                   "methods": {
                     "create": {
                       "description": "Creates one or more GTM Built-In Variables.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.built_in_variables.create",
                       "parameterOrder": [
@@ -980,60 +1078,81 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "type": {
                           "description": "The types of built-in variables to enable.",
                           "enum": [
-                            "advertiserId",
-                            "advertisingTrackingEnabled",
-                            "ampBrowserLanguage",
-                            "ampCanonicalHost",
-                            "ampCanonicalPath",
-                            "ampCanonicalUrl",
-                            "ampClientId",
-                            "ampClientMaxScrollX",
-                            "ampClientMaxScrollY",
-                            "ampClientScreenHeight",
-                            "ampClientScreenWidth",
-                            "ampClientScrollX",
-                            "ampClientScrollY",
-                            "ampClientTimestamp",
-                            "ampClientTimezone",
-                            "ampGtmEvent",
-                            "ampPageDownloadTime",
-                            "ampPageLoadTime",
-                            "ampPageViewId",
-                            "ampReferrer",
-                            "ampTitle",
-                            "ampTotalEngagedTime",
+                            "builtInVariableTypeUnspecified",
+                            "pageUrl",
+                            "pageHostname",
+                            "pagePath",
+                            "referrer",
+                            "event",
+                            "clickElement",
+                            "clickClasses",
+                            "clickId",
+                            "clickTarget",
+                            "clickUrl",
+                            "clickText",
+                            "formElement",
+                            "formClasses",
+                            "formId",
+                            "formTarget",
+                            "formUrl",
+                            "formText",
+                            "errorMessage",
+                            "errorUrl",
+                            "errorLine",
+                            "newHistoryUrl",
+                            "oldHistoryUrl",
+                            "newHistoryFragment",
+                            "oldHistoryFragment",
+                            "newHistoryState",
+                            "oldHistoryState",
+                            "historySource",
+                            "containerVersion",
+                            "debugMode",
+                            "randomNumber",
+                            "containerId",
                             "appId",
                             "appName",
                             "appVersionCode",
                             "appVersionName",
-                            "builtInVariableTypeUnspecified",
-                            "clickClasses",
-                            "clickElement",
-                            "clickId",
-                            "clickTarget",
-                            "clickText",
-                            "clickUrl",
-                            "containerId",
-                            "containerVersion",
-                            "debugMode",
+                            "language",
+                            "osVersion",
+                            "platform",
+                            "sdkVersion",
                             "deviceName",
-                            "elementVisibilityFirstTime",
-                            "elementVisibilityRatio",
-                            "elementVisibilityRecentTime",
-                            "elementVisibilityTime",
+                            "resolution",
+                            "advertiserId",
+                            "advertisingTrackingEnabled",
+                            "htmlId",
                             "environmentName",
-                            "errorLine",
-                            "errorMessage",
-                            "errorUrl",
-                            "event",
+                            "ampBrowserLanguage",
+                            "ampCanonicalPath",
+                            "ampCanonicalUrl",
+                            "ampCanonicalHost",
+                            "ampReferrer",
+                            "ampTitle",
+                            "ampClientId",
+                            "ampClientTimezone",
+                            "ampClientTimestamp",
+                            "ampClientScreenWidth",
+                            "ampClientScreenHeight",
+                            "ampClientScrollX",
+                            "ampClientScrollY",
+                            "ampClientMaxScrollX",
+                            "ampClientMaxScrollY",
+                            "ampTotalEngagedTime",
+                            "ampPageViewId",
+                            "ampPageLoadTime",
+                            "ampPageDownloadTime",
+                            "ampGtmEvent",
                             "eventName",
                             "firebaseEventParameterCampaign",
                             "firebaseEventParameterCampaignAclid",
@@ -1058,155 +1177,28 @@
                             "firebaseEventParameterProductId",
                             "firebaseEventParameterQuantity",
                             "firebaseEventParameterValue",
-                            "formClasses",
-                            "formElement",
-                            "formId",
-                            "formTarget",
-                            "formText",
-                            "formUrl",
-                            "historySource",
-                            "htmlId",
-                            "language",
-                            "newHistoryFragment",
-                            "newHistoryState",
-                            "newHistoryUrl",
-                            "oldHistoryFragment",
-                            "oldHistoryState",
-                            "oldHistoryUrl",
-                            "osVersion",
-                            "pageHostname",
-                            "pagePath",
-                            "pageUrl",
-                            "platform",
-                            "randomNumber",
-                            "referrer",
-                            "resolution",
-                            "scrollDepthDirection",
-                            "scrollDepthThreshold",
-                            "scrollDepthUnits",
-                            "sdkVersion",
-                            "videoCurrentTime",
+                            "videoProvider",
+                            "videoUrl",
+                            "videoTitle",
                             "videoDuration",
                             "videoPercent",
-                            "videoProvider",
+                            "videoVisible",
                             "videoStatus",
-                            "videoTitle",
-                            "videoUrl",
-                            "videoVisible"
-                          ],
-                          "enumDescriptions": [
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            ""
+                            "videoCurrentTime",
+                            "scrollDepthThreshold",
+                            "scrollDepthUnits",
+                            "scrollDepthDirection",
+                            "elementVisibilityRatio",
+                            "elementVisibilityTime",
+                            "elementVisibilityFirstTime",
+                            "elementVisibilityRecentTime"
                           ],
                           "location": "query",
                           "repeated": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/built_in_variables",
+                      "path": "tagmanager/v2/{+parent}/built_in_variables",
                       "response": {
                         "$ref": "CreateBuiltInVariableResponse"
                       },
@@ -1216,6 +1208,7 @@
                     },
                     "delete": {
                       "description": "Deletes one or more GTM Built-In Variables.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables",
                       "httpMethod": "DELETE",
                       "id": "tagmanager.accounts.containers.workspaces.built_in_variables.delete",
                       "parameterOrder": [
@@ -1223,60 +1216,81 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM BuiltInVariable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
+                          "description": "GTM BuiltInVariable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/built_in_variables$",
                           "required": true,
                           "type": "string"
                         },
                         "type": {
                           "description": "The types of built-in variables to delete.",
                           "enum": [
-                            "advertiserId",
-                            "advertisingTrackingEnabled",
-                            "ampBrowserLanguage",
-                            "ampCanonicalHost",
-                            "ampCanonicalPath",
-                            "ampCanonicalUrl",
-                            "ampClientId",
-                            "ampClientMaxScrollX",
-                            "ampClientMaxScrollY",
-                            "ampClientScreenHeight",
-                            "ampClientScreenWidth",
-                            "ampClientScrollX",
-                            "ampClientScrollY",
-                            "ampClientTimestamp",
-                            "ampClientTimezone",
-                            "ampGtmEvent",
-                            "ampPageDownloadTime",
-                            "ampPageLoadTime",
-                            "ampPageViewId",
-                            "ampReferrer",
-                            "ampTitle",
-                            "ampTotalEngagedTime",
+                            "builtInVariableTypeUnspecified",
+                            "pageUrl",
+                            "pageHostname",
+                            "pagePath",
+                            "referrer",
+                            "event",
+                            "clickElement",
+                            "clickClasses",
+                            "clickId",
+                            "clickTarget",
+                            "clickUrl",
+                            "clickText",
+                            "formElement",
+                            "formClasses",
+                            "formId",
+                            "formTarget",
+                            "formUrl",
+                            "formText",
+                            "errorMessage",
+                            "errorUrl",
+                            "errorLine",
+                            "newHistoryUrl",
+                            "oldHistoryUrl",
+                            "newHistoryFragment",
+                            "oldHistoryFragment",
+                            "newHistoryState",
+                            "oldHistoryState",
+                            "historySource",
+                            "containerVersion",
+                            "debugMode",
+                            "randomNumber",
+                            "containerId",
                             "appId",
                             "appName",
                             "appVersionCode",
                             "appVersionName",
-                            "builtInVariableTypeUnspecified",
-                            "clickClasses",
-                            "clickElement",
-                            "clickId",
-                            "clickTarget",
-                            "clickText",
-                            "clickUrl",
-                            "containerId",
-                            "containerVersion",
-                            "debugMode",
+                            "language",
+                            "osVersion",
+                            "platform",
+                            "sdkVersion",
                             "deviceName",
-                            "elementVisibilityFirstTime",
-                            "elementVisibilityRatio",
-                            "elementVisibilityRecentTime",
-                            "elementVisibilityTime",
+                            "resolution",
+                            "advertiserId",
+                            "advertisingTrackingEnabled",
+                            "htmlId",
                             "environmentName",
-                            "errorLine",
-                            "errorMessage",
-                            "errorUrl",
-                            "event",
+                            "ampBrowserLanguage",
+                            "ampCanonicalPath",
+                            "ampCanonicalUrl",
+                            "ampCanonicalHost",
+                            "ampReferrer",
+                            "ampTitle",
+                            "ampClientId",
+                            "ampClientTimezone",
+                            "ampClientTimestamp",
+                            "ampClientScreenWidth",
+                            "ampClientScreenHeight",
+                            "ampClientScrollX",
+                            "ampClientScrollY",
+                            "ampClientMaxScrollX",
+                            "ampClientMaxScrollY",
+                            "ampTotalEngagedTime",
+                            "ampPageViewId",
+                            "ampPageLoadTime",
+                            "ampPageDownloadTime",
+                            "ampGtmEvent",
                             "eventName",
                             "firebaseEventParameterCampaign",
                             "firebaseEventParameterCampaignAclid",
@@ -1301,161 +1315,35 @@
                             "firebaseEventParameterProductId",
                             "firebaseEventParameterQuantity",
                             "firebaseEventParameterValue",
-                            "formClasses",
-                            "formElement",
-                            "formId",
-                            "formTarget",
-                            "formText",
-                            "formUrl",
-                            "historySource",
-                            "htmlId",
-                            "language",
-                            "newHistoryFragment",
-                            "newHistoryState",
-                            "newHistoryUrl",
-                            "oldHistoryFragment",
-                            "oldHistoryState",
-                            "oldHistoryUrl",
-                            "osVersion",
-                            "pageHostname",
-                            "pagePath",
-                            "pageUrl",
-                            "platform",
-                            "randomNumber",
-                            "referrer",
-                            "resolution",
-                            "scrollDepthDirection",
-                            "scrollDepthThreshold",
-                            "scrollDepthUnits",
-                            "sdkVersion",
-                            "videoCurrentTime",
+                            "videoProvider",
+                            "videoUrl",
+                            "videoTitle",
                             "videoDuration",
                             "videoPercent",
-                            "videoProvider",
+                            "videoVisible",
                             "videoStatus",
-                            "videoTitle",
-                            "videoUrl",
-                            "videoVisible"
-                          ],
-                          "enumDescriptions": [
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            ""
+                            "videoCurrentTime",
+                            "scrollDepthThreshold",
+                            "scrollDepthUnits",
+                            "scrollDepthDirection",
+                            "elementVisibilityRatio",
+                            "elementVisibilityTime",
+                            "elementVisibilityFirstTime",
+                            "elementVisibilityRecentTime"
                           ],
                           "location": "query",
                           "repeated": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "scopes": [
                         "https://www.googleapis.com/auth/tagmanager.edit.containers"
                       ]
                     },
                     "list": {
                       "description": "Lists all the enabled Built-In Variables of a GTM Container.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.built_in_variables.list",
                       "parameterOrder": [
@@ -1468,13 +1356,14 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/built_in_variables",
+                      "path": "tagmanager/v2/{+parent}/built_in_variables",
                       "response": {
                         "$ref": "ListEnabledBuiltInVariablesResponse"
                       },
@@ -1485,6 +1374,7 @@
                     },
                     "revert": {
                       "description": "Reverts changes to a GTM Built-In Variables in a GTM Workspace.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables:revert",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.built_in_variables.revert",
                       "parameterOrder": [
@@ -1492,60 +1382,81 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM BuiltInVariable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
+                          "description": "GTM BuiltInVariable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "type": {
                           "description": "The type of built-in variable to revert.",
                           "enum": [
-                            "advertiserId",
-                            "advertisingTrackingEnabled",
-                            "ampBrowserLanguage",
-                            "ampCanonicalHost",
-                            "ampCanonicalPath",
-                            "ampCanonicalUrl",
-                            "ampClientId",
-                            "ampClientMaxScrollX",
-                            "ampClientMaxScrollY",
-                            "ampClientScreenHeight",
-                            "ampClientScreenWidth",
-                            "ampClientScrollX",
-                            "ampClientScrollY",
-                            "ampClientTimestamp",
-                            "ampClientTimezone",
-                            "ampGtmEvent",
-                            "ampPageDownloadTime",
-                            "ampPageLoadTime",
-                            "ampPageViewId",
-                            "ampReferrer",
-                            "ampTitle",
-                            "ampTotalEngagedTime",
+                            "builtInVariableTypeUnspecified",
+                            "pageUrl",
+                            "pageHostname",
+                            "pagePath",
+                            "referrer",
+                            "event",
+                            "clickElement",
+                            "clickClasses",
+                            "clickId",
+                            "clickTarget",
+                            "clickUrl",
+                            "clickText",
+                            "formElement",
+                            "formClasses",
+                            "formId",
+                            "formTarget",
+                            "formUrl",
+                            "formText",
+                            "errorMessage",
+                            "errorUrl",
+                            "errorLine",
+                            "newHistoryUrl",
+                            "oldHistoryUrl",
+                            "newHistoryFragment",
+                            "oldHistoryFragment",
+                            "newHistoryState",
+                            "oldHistoryState",
+                            "historySource",
+                            "containerVersion",
+                            "debugMode",
+                            "randomNumber",
+                            "containerId",
                             "appId",
                             "appName",
                             "appVersionCode",
                             "appVersionName",
-                            "builtInVariableTypeUnspecified",
-                            "clickClasses",
-                            "clickElement",
-                            "clickId",
-                            "clickTarget",
-                            "clickText",
-                            "clickUrl",
-                            "containerId",
-                            "containerVersion",
-                            "debugMode",
+                            "language",
+                            "osVersion",
+                            "platform",
+                            "sdkVersion",
                             "deviceName",
-                            "elementVisibilityFirstTime",
-                            "elementVisibilityRatio",
-                            "elementVisibilityRecentTime",
-                            "elementVisibilityTime",
+                            "resolution",
+                            "advertiserId",
+                            "advertisingTrackingEnabled",
+                            "htmlId",
                             "environmentName",
-                            "errorLine",
-                            "errorMessage",
-                            "errorUrl",
-                            "event",
+                            "ampBrowserLanguage",
+                            "ampCanonicalPath",
+                            "ampCanonicalUrl",
+                            "ampCanonicalHost",
+                            "ampReferrer",
+                            "ampTitle",
+                            "ampClientId",
+                            "ampClientTimezone",
+                            "ampClientTimestamp",
+                            "ampClientScreenWidth",
+                            "ampClientScreenHeight",
+                            "ampClientScrollX",
+                            "ampClientScrollY",
+                            "ampClientMaxScrollX",
+                            "ampClientMaxScrollY",
+                            "ampTotalEngagedTime",
+                            "ampPageViewId",
+                            "ampPageLoadTime",
+                            "ampPageDownloadTime",
+                            "ampGtmEvent",
                             "eventName",
                             "firebaseEventParameterCampaign",
                             "firebaseEventParameterCampaignAclid",
@@ -1570,154 +1481,27 @@
                             "firebaseEventParameterProductId",
                             "firebaseEventParameterQuantity",
                             "firebaseEventParameterValue",
-                            "formClasses",
-                            "formElement",
-                            "formId",
-                            "formTarget",
-                            "formText",
-                            "formUrl",
-                            "historySource",
-                            "htmlId",
-                            "language",
-                            "newHistoryFragment",
-                            "newHistoryState",
-                            "newHistoryUrl",
-                            "oldHistoryFragment",
-                            "oldHistoryState",
-                            "oldHistoryUrl",
-                            "osVersion",
-                            "pageHostname",
-                            "pagePath",
-                            "pageUrl",
-                            "platform",
-                            "randomNumber",
-                            "referrer",
-                            "resolution",
-                            "scrollDepthDirection",
-                            "scrollDepthThreshold",
-                            "scrollDepthUnits",
-                            "sdkVersion",
-                            "videoCurrentTime",
+                            "videoProvider",
+                            "videoUrl",
+                            "videoTitle",
                             "videoDuration",
                             "videoPercent",
-                            "videoProvider",
+                            "videoVisible",
                             "videoStatus",
-                            "videoTitle",
-                            "videoUrl",
-                            "videoVisible"
-                          ],
-                          "enumDescriptions": [
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            "",
-                            ""
+                            "videoCurrentTime",
+                            "scrollDepthThreshold",
+                            "scrollDepthUnits",
+                            "scrollDepthDirection",
+                            "elementVisibilityRatio",
+                            "elementVisibilityTime",
+                            "elementVisibilityFirstTime",
+                            "elementVisibilityRecentTime"
                           ],
                           "location": "query",
                           "type": "string"
                         }
                       },
-                      "path": "{+path}/built_in_variables:revert",
+                      "path": "tagmanager/v2/{+path}/built_in_variables:revert",
                       "response": {
                         "$ref": "RevertBuiltInVariableResponse"
                       },
@@ -1731,6 +1515,7 @@
                   "methods": {
                     "create": {
                       "description": "Creates a GTM Folder.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.folders.create",
                       "parameterOrder": [
@@ -1738,13 +1523,14 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/folders",
+                      "path": "tagmanager/v2/{+parent}/folders",
                       "request": {
                         "$ref": "Folder"
                       },
@@ -1757,6 +1543,7 @@
                     },
                     "delete": {
                       "description": "Deletes a GTM Folder.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}",
                       "httpMethod": "DELETE",
                       "id": "tagmanager.accounts.containers.workspaces.folders.delete",
                       "parameterOrder": [
@@ -1764,19 +1551,21 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+                          "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "scopes": [
                         "https://www.googleapis.com/auth/tagmanager.edit.containers"
                       ]
                     },
                     "entities": {
                       "description": "List all entities in a GTM Folder.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:entities",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.folders.entities",
                       "parameterOrder": [
@@ -1789,13 +1578,14 @@
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+                          "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}:entities",
+                      "path": "tagmanager/v2/{+path}:entities",
                       "response": {
                         "$ref": "FolderEntities"
                       },
@@ -1806,6 +1596,7 @@
                     },
                     "get": {
                       "description": "Gets a GTM Folder.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.folders.get",
                       "parameterOrder": [
@@ -1813,13 +1604,14 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+                          "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "response": {
                         "$ref": "Folder"
                       },
@@ -1830,6 +1622,7 @@
                     },
                     "list": {
                       "description": "Lists all GTM Folders of a Container.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.folders.list",
                       "parameterOrder": [
@@ -1842,13 +1635,14 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/folders",
+                      "path": "tagmanager/v2/{+parent}/folders",
                       "response": {
                         "$ref": "ListFoldersResponse"
                       },
@@ -1859,6 +1653,7 @@
                     },
                     "move_entities_to_folder": {
                       "description": "Moves entities to a GTM Folder.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:move_entities_to_folder",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.folders.move_entities_to_folder",
                       "parameterOrder": [
@@ -1866,8 +1661,9 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+                          "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
@@ -1890,7 +1686,7 @@
                           "type": "string"
                         }
                       },
-                      "path": "{+path}:move_entities_to_folder",
+                      "path": "tagmanager/v2/{+path}:move_entities_to_folder",
                       "request": {
                         "$ref": "Folder"
                       },
@@ -1900,6 +1696,7 @@
                     },
                     "revert": {
                       "description": "Reverts changes to a GTM Folder in a GTM Workspace.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:revert",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.folders.revert",
                       "parameterOrder": [
@@ -1907,18 +1704,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the tag in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the tag\nin storage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+                          "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}:revert",
+                      "path": "tagmanager/v2/{+path}:revert",
                       "response": {
                         "$ref": "RevertFolderResponse"
                       },
@@ -1928,6 +1726,7 @@
                     },
                     "update": {
                       "description": "Updates a GTM Folder.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}",
                       "httpMethod": "PUT",
                       "id": "tagmanager.accounts.containers.workspaces.folders.update",
                       "parameterOrder": [
@@ -1935,18 +1734,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the folder in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the folder in\nstorage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+                          "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "request": {
                         "$ref": "Folder"
                       },
@@ -1963,6 +1763,7 @@
                   "methods": {
                     "create": {
                       "description": "Creates a GTM Tag.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.tags.create",
                       "parameterOrder": [
@@ -1970,13 +1771,14 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/tags",
+                      "path": "tagmanager/v2/{+parent}/tags",
                       "request": {
                         "$ref": "Tag"
                       },
@@ -1989,6 +1791,7 @@
                     },
                     "delete": {
                       "description": "Deletes a GTM Tag.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}",
                       "httpMethod": "DELETE",
                       "id": "tagmanager.accounts.containers.workspaces.tags.delete",
                       "parameterOrder": [
@@ -1996,19 +1799,21 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
+                          "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "scopes": [
                         "https://www.googleapis.com/auth/tagmanager.edit.containers"
                       ]
                     },
                     "get": {
                       "description": "Gets a GTM Tag.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.tags.get",
                       "parameterOrder": [
@@ -2016,13 +1821,14 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
+                          "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "response": {
                         "$ref": "Tag"
                       },
@@ -2033,6 +1839,7 @@
                     },
                     "list": {
                       "description": "Lists all GTM Tags of a Container.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.tags.list",
                       "parameterOrder": [
@@ -2045,13 +1852,14 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/tags",
+                      "path": "tagmanager/v2/{+parent}/tags",
                       "response": {
                         "$ref": "ListTagsResponse"
                       },
@@ -2062,6 +1870,7 @@
                     },
                     "revert": {
                       "description": "Reverts changes to a GTM Tag in a GTM Workspace.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}:revert",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.tags.revert",
                       "parameterOrder": [
@@ -2069,18 +1878,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of thetag in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of thetag\nin storage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
+                          "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}:revert",
+                      "path": "tagmanager/v2/{+path}:revert",
                       "response": {
                         "$ref": "RevertTagResponse"
                       },
@@ -2090,6 +1900,7 @@
                     },
                     "update": {
                       "description": "Updates a GTM Tag.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}",
                       "httpMethod": "PUT",
                       "id": "tagmanager.accounts.containers.workspaces.tags.update",
                       "parameterOrder": [
@@ -2097,18 +1908,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the tag in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the tag in\nstorage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
+                          "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "request": {
                         "$ref": "Tag"
                       },
@@ -2125,6 +1937,7 @@
                   "methods": {
                     "create": {
                       "description": "Creates a GTM Custom Template.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.templates.create",
                       "parameterOrder": [
@@ -2132,13 +1945,14 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/templates",
+                      "path": "tagmanager/v2/{+parent}/templates",
                       "request": {
                         "$ref": "CustomTemplate"
                       },
@@ -2151,6 +1965,7 @@
                     },
                     "delete": {
                       "description": "Deletes a GTM Template.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}",
                       "httpMethod": "DELETE",
                       "id": "tagmanager.accounts.containers.workspaces.templates.delete",
                       "parameterOrder": [
@@ -2158,19 +1973,21 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
+                          "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "scopes": [
                         "https://www.googleapis.com/auth/tagmanager.edit.containers"
                       ]
                     },
                     "get": {
                       "description": "Gets a GTM Template.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.templates.get",
                       "parameterOrder": [
@@ -2178,13 +1995,14 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
+                          "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "response": {
                         "$ref": "CustomTemplate"
                       },
@@ -2195,6 +2013,7 @@
                     },
                     "list": {
                       "description": "Lists all GTM Templates of a GTM container workspace.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.templates.list",
                       "parameterOrder": [
@@ -2207,13 +2026,14 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/templates",
+                      "path": "tagmanager/v2/{+parent}/templates",
                       "response": {
                         "$ref": "ListTemplatesResponse"
                       },
@@ -2224,6 +2044,7 @@
                     },
                     "revert": {
                       "description": "Reverts changes to a GTM Template in a GTM Workspace.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}:revert",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.templates.revert",
                       "parameterOrder": [
@@ -2231,18 +2052,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the template in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the template\nin storage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
+                          "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}:revert",
+                      "path": "tagmanager/v2/{+path}:revert",
                       "response": {
                         "$ref": "RevertTemplateResponse"
                       },
@@ -2252,6 +2074,7 @@
                     },
                     "update": {
                       "description": "Updates a GTM Template.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}",
                       "httpMethod": "PUT",
                       "id": "tagmanager.accounts.containers.workspaces.templates.update",
                       "parameterOrder": [
@@ -2259,18 +2082,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the templates in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the templates\nin storage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
+                          "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "request": {
                         "$ref": "CustomTemplate"
                       },
@@ -2287,6 +2111,7 @@
                   "methods": {
                     "create": {
                       "description": "Creates a GTM Trigger.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.triggers.create",
                       "parameterOrder": [
@@ -2294,13 +2119,14 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "GTM Workspaces's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspaces's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/triggers",
+                      "path": "tagmanager/v2/{+parent}/triggers",
                       "request": {
                         "$ref": "Trigger"
                       },
@@ -2313,6 +2139,7 @@
                     },
                     "delete": {
                       "description": "Deletes a GTM Trigger.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}",
                       "httpMethod": "DELETE",
                       "id": "tagmanager.accounts.containers.workspaces.triggers.delete",
                       "parameterOrder": [
@@ -2320,19 +2147,21 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
+                          "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "scopes": [
                         "https://www.googleapis.com/auth/tagmanager.edit.containers"
                       ]
                     },
                     "get": {
                       "description": "Gets a GTM Trigger.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.triggers.get",
                       "parameterOrder": [
@@ -2340,13 +2169,14 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
+                          "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "response": {
                         "$ref": "Trigger"
                       },
@@ -2357,6 +2187,7 @@
                     },
                     "list": {
                       "description": "Lists all GTM Triggers of a Container.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.triggers.list",
                       "parameterOrder": [
@@ -2369,13 +2200,14 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "GTM Workspaces's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspaces's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/triggers",
+                      "path": "tagmanager/v2/{+parent}/triggers",
                       "response": {
                         "$ref": "ListTriggersResponse"
                       },
@@ -2386,6 +2218,7 @@
                     },
                     "revert": {
                       "description": "Reverts changes to a GTM Trigger in a GTM Workspace.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}:revert",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.triggers.revert",
                       "parameterOrder": [
@@ -2393,18 +2226,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the trigger in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the trigger\nin storage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
+                          "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}:revert",
+                      "path": "tagmanager/v2/{+path}:revert",
                       "response": {
                         "$ref": "RevertTriggerResponse"
                       },
@@ -2414,6 +2248,7 @@
                     },
                     "update": {
                       "description": "Updates a GTM Trigger.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}",
                       "httpMethod": "PUT",
                       "id": "tagmanager.accounts.containers.workspaces.triggers.update",
                       "parameterOrder": [
@@ -2421,18 +2256,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the trigger in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the trigger\nin storage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
+                          "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "request": {
                         "$ref": "Trigger"
                       },
@@ -2449,6 +2285,7 @@
                   "methods": {
                     "create": {
                       "description": "Creates a GTM Variable.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.variables.create",
                       "parameterOrder": [
@@ -2456,13 +2293,14 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/variables",
+                      "path": "tagmanager/v2/{+parent}/variables",
                       "request": {
                         "$ref": "Variable"
                       },
@@ -2475,6 +2313,7 @@
                     },
                     "delete": {
                       "description": "Deletes a GTM Variable.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}",
                       "httpMethod": "DELETE",
                       "id": "tagmanager.accounts.containers.workspaces.variables.delete",
                       "parameterOrder": [
@@ -2482,19 +2321,21 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
+                          "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "scopes": [
                         "https://www.googleapis.com/auth/tagmanager.edit.containers"
                       ]
                     },
                     "get": {
                       "description": "Gets a GTM Variable.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.variables.get",
                       "parameterOrder": [
@@ -2502,13 +2343,14 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
+                          "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "response": {
                         "$ref": "Variable"
                       },
@@ -2519,6 +2361,7 @@
                     },
                     "list": {
                       "description": "Lists all GTM Variables of a Container.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.variables.list",
                       "parameterOrder": [
@@ -2531,13 +2374,14 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/variables",
+                      "path": "tagmanager/v2/{+parent}/variables",
                       "response": {
                         "$ref": "ListVariablesResponse"
                       },
@@ -2548,6 +2392,7 @@
                     },
                     "revert": {
                       "description": "Reverts changes to a GTM Variable in a GTM Workspace.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}:revert",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.variables.revert",
                       "parameterOrder": [
@@ -2555,18 +2400,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the variable in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the variable\nin storage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
+                          "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}:revert",
+                      "path": "tagmanager/v2/{+path}:revert",
                       "response": {
                         "$ref": "RevertVariableResponse"
                       },
@@ -2576,6 +2422,7 @@
                     },
                     "update": {
                       "description": "Updates a GTM Variable.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}",
                       "httpMethod": "PUT",
                       "id": "tagmanager.accounts.containers.workspaces.variables.update",
                       "parameterOrder": [
@@ -2583,18 +2430,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the variable in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the variable\nin storage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
+                          "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "request": {
                         "$ref": "Variable"
                       },
@@ -2611,6 +2459,7 @@
                   "methods": {
                     "create": {
                       "description": "Creates a GTM Zone.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.zones.create",
                       "parameterOrder": [
@@ -2618,13 +2467,14 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/zones",
+                      "path": "tagmanager/v2/{+parent}/zones",
                       "request": {
                         "$ref": "Zone"
                       },
@@ -2637,6 +2487,7 @@
                     },
                     "delete": {
                       "description": "Deletes a GTM Zone.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}",
                       "httpMethod": "DELETE",
                       "id": "tagmanager.accounts.containers.workspaces.zones.delete",
                       "parameterOrder": [
@@ -2644,19 +2495,21 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
+                          "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "scopes": [
                         "https://www.googleapis.com/auth/tagmanager.edit.containers"
                       ]
                     },
                     "get": {
                       "description": "Gets a GTM Zone.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.zones.get",
                       "parameterOrder": [
@@ -2664,13 +2517,14 @@
                       ],
                       "parameters": {
                         "path": {
-                          "description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
+                          "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "response": {
                         "$ref": "Zone"
                       },
@@ -2681,6 +2535,7 @@
                     },
                     "list": {
                       "description": "Lists all GTM Zones of a GTM container workspace.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones",
                       "httpMethod": "GET",
                       "id": "tagmanager.accounts.containers.workspaces.zones.list",
                       "parameterOrder": [
@@ -2693,13 +2548,14 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+                          "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+parent}/zones",
+                      "path": "tagmanager/v2/{+parent}/zones",
                       "response": {
                         "$ref": "ListZonesResponse"
                       },
@@ -2710,6 +2566,7 @@
                     },
                     "revert": {
                       "description": "Reverts changes to a GTM Zone in a GTM Workspace.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}:revert",
                       "httpMethod": "POST",
                       "id": "tagmanager.accounts.containers.workspaces.zones.revert",
                       "parameterOrder": [
@@ -2717,18 +2574,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the zone in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the zone in\nstorage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
+                          "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}:revert",
+                      "path": "tagmanager/v2/{+path}:revert",
                       "response": {
                         "$ref": "RevertZoneResponse"
                       },
@@ -2738,6 +2596,7 @@
                     },
                     "update": {
                       "description": "Updates a GTM Zone.",
+                      "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}",
                       "httpMethod": "PUT",
                       "id": "tagmanager.accounts.containers.workspaces.zones.update",
                       "parameterOrder": [
@@ -2745,18 +2604,19 @@
                       ],
                       "parameters": {
                         "fingerprint": {
-                          "description": "When provided, this fingerprint must match the fingerprint of the zone in storage.",
+                          "description": "When provided, this fingerprint must match the fingerprint of the zone in\nstorage.",
                           "location": "query",
                           "type": "string"
                         },
                         "path": {
-                          "description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
+                          "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
                           "location": "path",
+                          "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
                           "required": true,
                           "type": "string"
                         }
                       },
-                      "path": "{+path}",
+                      "path": "tagmanager/v2/{+path}",
                       "request": {
                         "$ref": "Zone"
                       },
@@ -2777,6 +2637,7 @@
           "methods": {
             "create": {
               "description": "Creates a user's Account \u0026 Container access.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions",
               "httpMethod": "POST",
               "id": "tagmanager.accounts.user_permissions.create",
               "parameterOrder": [
@@ -2784,13 +2645,14 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "GTM Account's API relative path. Example: accounts/{account_id}",
+                  "description": "GTM Account's API relative path.\nExample: accounts/{account_id}",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+parent}/user_permissions",
+              "path": "tagmanager/v2/{+parent}/user_permissions",
               "request": {
                 "$ref": "UserPermission"
               },
@@ -2802,7 +2664,8 @@
               ]
             },
             "delete": {
-              "description": "Removes a user from the account, revoking access to it and all of its containers.",
+              "description": "Removes a user from the account, revoking access to it and all of its\ncontainers.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}",
               "httpMethod": "DELETE",
               "id": "tagmanager.accounts.user_permissions.delete",
               "parameterOrder": [
@@ -2810,19 +2673,21 @@
               ],
               "parameters": {
                 "path": {
-                  "description": "GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id}",
+                  "description": "GTM UserPermission's API relative path.\nExample: accounts/{account_id}/user_permissions/{user_permission_id}",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+/user_permissions/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+path}",
+              "path": "tagmanager/v2/{+path}",
               "scopes": [
                 "https://www.googleapis.com/auth/tagmanager.manage.users"
               ]
             },
             "get": {
               "description": "Gets a user's Account \u0026 Container access.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}",
               "httpMethod": "GET",
               "id": "tagmanager.accounts.user_permissions.get",
               "parameterOrder": [
@@ -2830,13 +2695,14 @@
               ],
               "parameters": {
                 "path": {
-                  "description": "GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id}",
+                  "description": "GTM UserPermission's API relative path.\nExample: accounts/{account_id}/user_permissions/{user_permission_id}",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+/user_permissions/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+path}",
+              "path": "tagmanager/v2/{+path}",
               "response": {
                 "$ref": "UserPermission"
               },
@@ -2845,7 +2711,8 @@
               ]
             },
             "list": {
-              "description": "List all users that have access to the account along with Account and Container user access granted to each of them.",
+              "description": "List all users that have access to the account along with Account and\nContainer user access granted to each of them.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions",
               "httpMethod": "GET",
               "id": "tagmanager.accounts.user_permissions.list",
               "parameterOrder": [
@@ -2858,13 +2725,14 @@
                   "type": "string"
                 },
                 "parent": {
-                  "description": "GTM Accounts's API relative path. Example: accounts/{account_id}",
+                  "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+parent}/user_permissions",
+              "path": "tagmanager/v2/{+parent}/user_permissions",
               "response": {
                 "$ref": "ListUserPermissionsResponse"
               },
@@ -2874,6 +2742,7 @@
             },
             "update": {
               "description": "Updates a user's Account \u0026 Container access.",
+              "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}",
               "httpMethod": "PUT",
               "id": "tagmanager.accounts.user_permissions.update",
               "parameterOrder": [
@@ -2881,13 +2750,14 @@
               ],
               "parameters": {
                 "path": {
-                  "description": "GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id}",
+                  "description": "GTM UserPermission's API relative path.\nExample: accounts/{account_id}/user_permissions/{user_permission_id}",
                   "location": "path",
+                  "pattern": "^accounts/[^/]+/user_permissions/[^/]+$",
                   "required": true,
                   "type": "string"
                 }
               },
-              "path": "{+path}",
+              "path": "tagmanager/v2/{+path}",
               "request": {
                 "$ref": "UserPermission"
               },
@@ -2903,7 +2773,7 @@
       }
     }
   },
-  "revision": "20190516",
+  "revision": "20190629",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
@@ -2915,11 +2785,11 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.",
+          "description": "The fingerprint of the GTM Account as computed at storage time.\nThis value is recomputed whenever the account is modified.",
           "type": "string"
         },
         "name": {
-          "description": "Account display name.",
+          "description": "Account display name.\n@mutable tagmanager.accounts.create\n@mutable tagmanager.accounts.update",
           "type": "string"
         },
         "path": {
@@ -2927,7 +2797,7 @@
           "type": "string"
         },
         "shareData": {
-          "description": "Whether the account shares data anonymously with Google and others. This flag enables benchmarking by sharing your data in an anonymous form. Google will remove all identifiable information about your website, combine the data with hundreds of other anonymous sites and report aggregate trends in the benchmarking service.",
+          "description": "Whether the account shares data anonymously with Google and others.\nThis flag enables benchmarking by sharing your data in an anonymous form.\nGoogle will remove all identifiable information about your website, combine\nthe data with hundreds of other anonymous sites and report aggregate trends\nin the benchmarking service.\n@mutable tagmanager.accounts.create\n@mutable tagmanager.accounts.update",
           "type": "boolean"
         },
         "tagManagerUrl": {
@@ -2942,12 +2812,12 @@
       "id": "AccountAccess",
       "properties": {
         "permission": {
-          "description": "Whether the user has no access, user access, or admin access to an account.",
+          "description": "Whether the user has no access, user access, or admin access to an account.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update",
           "enum": [
             "accountPermissionUnspecified",
-            "admin",
             "noAccess",
-            "user"
+            "user",
+            "admin"
           ],
           "enumDescriptions": [
             "",
@@ -2961,7 +2831,7 @@
       "type": "object"
     },
     "BuiltInVariable": {
-      "description": "Built-in variables are a special category of variables that are pre-created and non-customizable. They provide common functionality like accessing propeties of the gtm data layer, monitoring clicks, or accessing elements of a page URL.",
+      "description": "Built-in variables are a special category of variables that are pre-created\nand non-customizable. They provide common functionality like accessing\npropeties of the gtm data layer, monitoring clicks, or accessing elements\nof a page URL.",
       "id": "BuiltInVariable",
       "properties": {
         "accountId": {
@@ -2981,54 +2851,74 @@
           "type": "string"
         },
         "type": {
-          "description": "Type of built-in variable.",
+          "description": "Type of built-in variable.\n@required.tagmanager.accounts.containers.workspaces.built_in_variable.update\n@mutable tagmanager.accounts.containers.workspaces.built_in_variable.update",
           "enum": [
-            "advertiserId",
-            "advertisingTrackingEnabled",
-            "ampBrowserLanguage",
-            "ampCanonicalHost",
-            "ampCanonicalPath",
-            "ampCanonicalUrl",
-            "ampClientId",
-            "ampClientMaxScrollX",
-            "ampClientMaxScrollY",
-            "ampClientScreenHeight",
-            "ampClientScreenWidth",
-            "ampClientScrollX",
-            "ampClientScrollY",
-            "ampClientTimestamp",
-            "ampClientTimezone",
-            "ampGtmEvent",
-            "ampPageDownloadTime",
-            "ampPageLoadTime",
-            "ampPageViewId",
-            "ampReferrer",
-            "ampTitle",
-            "ampTotalEngagedTime",
+            "builtInVariableTypeUnspecified",
+            "pageUrl",
+            "pageHostname",
+            "pagePath",
+            "referrer",
+            "event",
+            "clickElement",
+            "clickClasses",
+            "clickId",
+            "clickTarget",
+            "clickUrl",
+            "clickText",
+            "formElement",
+            "formClasses",
+            "formId",
+            "formTarget",
+            "formUrl",
+            "formText",
+            "errorMessage",
+            "errorUrl",
+            "errorLine",
+            "newHistoryUrl",
+            "oldHistoryUrl",
+            "newHistoryFragment",
+            "oldHistoryFragment",
+            "newHistoryState",
+            "oldHistoryState",
+            "historySource",
+            "containerVersion",
+            "debugMode",
+            "randomNumber",
+            "containerId",
             "appId",
             "appName",
             "appVersionCode",
             "appVersionName",
-            "builtInVariableTypeUnspecified",
-            "clickClasses",
-            "clickElement",
-            "clickId",
-            "clickTarget",
-            "clickText",
-            "clickUrl",
-            "containerId",
-            "containerVersion",
-            "debugMode",
+            "language",
+            "osVersion",
+            "platform",
+            "sdkVersion",
             "deviceName",
-            "elementVisibilityFirstTime",
-            "elementVisibilityRatio",
-            "elementVisibilityRecentTime",
-            "elementVisibilityTime",
+            "resolution",
+            "advertiserId",
+            "advertisingTrackingEnabled",
+            "htmlId",
             "environmentName",
-            "errorLine",
-            "errorMessage",
-            "errorUrl",
-            "event",
+            "ampBrowserLanguage",
+            "ampCanonicalPath",
+            "ampCanonicalUrl",
+            "ampCanonicalHost",
+            "ampReferrer",
+            "ampTitle",
+            "ampClientId",
+            "ampClientTimezone",
+            "ampClientTimestamp",
+            "ampClientScreenWidth",
+            "ampClientScreenHeight",
+            "ampClientScrollX",
+            "ampClientScrollY",
+            "ampClientMaxScrollX",
+            "ampClientMaxScrollY",
+            "ampTotalEngagedTime",
+            "ampPageViewId",
+            "ampPageLoadTime",
+            "ampPageDownloadTime",
+            "ampGtmEvent",
             "eventName",
             "firebaseEventParameterCampaign",
             "firebaseEventParameterCampaignAclid",
@@ -3053,41 +2943,21 @@
             "firebaseEventParameterProductId",
             "firebaseEventParameterQuantity",
             "firebaseEventParameterValue",
-            "formClasses",
-            "formElement",
-            "formId",
-            "formTarget",
-            "formText",
-            "formUrl",
-            "historySource",
-            "htmlId",
-            "language",
-            "newHistoryFragment",
-            "newHistoryState",
-            "newHistoryUrl",
-            "oldHistoryFragment",
-            "oldHistoryState",
-            "oldHistoryUrl",
-            "osVersion",
-            "pageHostname",
-            "pagePath",
-            "pageUrl",
-            "platform",
-            "randomNumber",
-            "referrer",
-            "resolution",
-            "scrollDepthDirection",
-            "scrollDepthThreshold",
-            "scrollDepthUnits",
-            "sdkVersion",
-            "videoCurrentTime",
+            "videoProvider",
+            "videoUrl",
+            "videoTitle",
             "videoDuration",
             "videoPercent",
-            "videoProvider",
+            "videoVisible",
             "videoStatus",
-            "videoTitle",
-            "videoUrl",
-            "videoVisible"
+            "videoCurrentTime",
+            "scrollDepthThreshold",
+            "scrollDepthUnits",
+            "scrollDepthDirection",
+            "elementVisibilityRatio",
+            "elementVisibilityTime",
+            "elementVisibilityFirstTime",
+            "elementVisibilityRecentTime"
           ],
           "enumDescriptions": [
             "",
@@ -3095,6 +2965,7 @@
             "",
             "",
             "",
+            "For web or mobile.",
             "",
             "",
             "",
@@ -3117,11 +2988,10 @@
             "",
             "",
             "",
+            "For web or mobile.",
             "",
-            "",
-            "",
-            "",
-            "",
+            "For web or mobile.",
+            "For web or mobile.",
             "",
             "",
             "",
@@ -3216,7 +3086,7 @@
               "tagmanager.accounts.containers.workspaces.triggers.update"
             ]
           },
-          "description": "A list of named parameters (key/value), depending on the condition's type. Notes: \n- For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively. \n- At this time, the left operand (arg0) must be a reference to a variable. \n- 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. \n- To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.",
+          "description": "A list of named parameters (key/value), depending on the condition's type.\nNotes:\u003cul\u003e\n\u003cli\u003eFor binary operators, include parameters named \u003ccode\u003earg0\u003c/code\u003e and\n   \u003ccode\u003earg1\u003c/code\u003e for specifying the left and right operands,\n   respectively.\u003c/li\u003e\n\u003cli\u003eAt this time, the left operand (\u003ccode\u003earg0\u003c/code\u003e) must be a reference\n    to a variable.\u003c/li\u003e\n\u003cli\u003eFor case-insensitive Regex matching, include a boolean parameter named\n    \u003ccode\u003eignore_case\u003c/code\u003e that is set to \u003ccode\u003etrue\u003c/code\u003e.\n    If not specified or set to any other value, the matching will be case\n    sensitive.\u003c/li\u003e\n\u003cli\u003eTo negate an operator, include a boolean parameter named\n    \u003ccode\u003enegate\u003c/code\u003e boolean parameter that is set to \u003ccode\u003etrue\u003c/code\u003e.\n    \u003c/li\u003e\n\u003c/ul\u003e\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -3229,19 +3099,19 @@
               "tagmanager.accounts.containers.workspaces.triggers.update"
             ]
           },
-          "description": "The type of operator for this condition.",
+          "description": "The type of operator for this condition.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "enum": [
             "conditionTypeUnspecified",
-            "contains",
-            "cssSelector",
-            "endsWith",
             "equals",
+            "contains",
+            "startsWith",
+            "endsWith",
+            "matchRegex",
             "greater",
             "greaterOrEquals",
             "less",
             "lessOrEquals",
-            "matchRegex",
-            "startsWith",
+            "cssSelector",
             "urlMatches"
           ],
           "enumDescriptions": [
@@ -3256,7 +3126,7 @@
             "",
             "",
             "",
-            ""
+            "NOTE(lanzone): When defining a ConditionType here, don't forget to also\ndefine a matching PredicateType (in condition.proto)."
           ],
           "type": "string"
         }
@@ -3264,7 +3134,7 @@
       "type": "object"
     },
     "Container": {
-      "description": "Represents a Google Tag Manager Container, which specifies the platform tags will run on, manages workspaces, and retains container versions.",
+      "description": "Represents a Google Tag Manager Container, which specifies the platform tags\nwill run on, manages workspaces, and retains container versions.",
       "id": "Container",
       "properties": {
         "accountId": {
@@ -3276,14 +3146,14 @@
           "type": "string"
         },
         "domainName": {
-          "description": "List of domain names associated with the Container.",
+          "description": "List of domain names associated with the Container.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.",
+          "description": "The fingerprint of the GTM Container as computed at storage time.  This\nvalue is recomputed whenever the account is modified.",
           "type": "string"
         },
         "name": {
@@ -3292,11 +3162,11 @@
               "tagmanager.accounts.containers.create"
             ]
           },
-          "description": "Container display name.",
+          "description": "Container display name.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
           "type": "string"
         },
         "notes": {
-          "description": "Container Notes.",
+          "description": "Container Notes.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
           "type": "string"
         },
         "path": {
@@ -3314,28 +3184,29 @@
         "usageContext": {
           "annotations": {
             "required": [
-              "tagmanager.accounts.containers.create"
+              "tagmanager.accounts.containers.create",
+              "tagmanager.accounts.containers.update"
             ]
           },
-          "description": "List of Usage Contexts for the Container. Valid values include: web, android, or ios.",
+          "description": "List of Usage Contexts for the Container. Valid values include: \u003ccode\u003eweb,\nandroid, or ios\u003c/code\u003e.\n@mutable tagmanager.accounts.containers.create\n@mutable tagmanager.accounts.containers.update",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "amp",
-              "android",
-              "androidSdk5",
-              "ios",
-              "iosSdk5",
               "usageContextUnspecified",
-              "web"
-            ],
-            "enumDescriptions": [
-              "",
-              "",
-              "",
-              "",
-              "",
-              "",
-              ""
+              "web",
+              "android",
+              "ios",
+              "androidSdk5",
+              "iosSdk5",
+              "amp"
             ],
             "type": "string"
           },
@@ -3349,18 +3220,18 @@
       "id": "ContainerAccess",
       "properties": {
         "containerId": {
-          "description": "GTM Container ID.",
+          "description": "GTM Container ID.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update",
           "type": "string"
         },
         "permission": {
-          "description": "List of Container permissions.",
+          "description": "List of Container permissions.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update",
           "enum": [
-            "approve",
             "containerPermissionUnspecified",
-            "edit",
             "noAccess",
-            "publish",
-            "read"
+            "read",
+            "edit",
+            "approve",
+            "publish"
           ],
           "enumDescriptions": [
             "",
@@ -3414,11 +3285,11 @@
           "type": "boolean"
         },
         "description": {
-          "description": "Container version description.",
+          "description": "Container version description.\n@mutable tagmanager.accounts.containers.versions.update",
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.",
+          "description": "The fingerprint of the GTM Container Version as computed at\nstorage time. This value is recomputed whenever the container version is\nmodified.",
           "type": "string"
         },
         "folder": {
@@ -3429,7 +3300,7 @@
           "type": "array"
         },
         "name": {
-          "description": "Container version display name.",
+          "description": "Container version display name.\n@mutable tagmanager.accounts.containers.versions.update",
           "type": "string"
         },
         "path": {
@@ -3571,12 +3442,12 @@
           "description": "The container version created."
         },
         "newWorkspacePath": {
-          "description": "Auto generated workspace path created as a result of version creation. This field should only be populated if the created version was not a quick preview.",
+          "description": "Auto generated workspace path created as a result of version creation. This\nfield should only be populated if the created version was not a quick\npreview.",
           "type": "string"
         },
         "syncStatus": {
           "$ref": "SyncStatus",
-          "description": "Whether version creation failed when syncing the workspace to the latest container version."
+          "description": "Whether version creation failed when syncing the workspace to the latest\ncontainer version."
         }
       },
       "type": "object"
@@ -3594,7 +3465,7 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Custom Template as computed at storage time. This value is recomputed whenever the template is modified.",
+          "description": "The fingerprint of the GTM Custom Template as computed at storage time.\nThis value is recomputed whenever the template is modified.",
           "type": "string"
         },
         "name": {
@@ -3625,24 +3496,24 @@
       "type": "object"
     },
     "Entity": {
-      "description": "A workspace entity that may represent a tag, trigger, variable, or folder in addition to its status in the workspace.",
+      "description": "A workspace entity that may represent a tag, trigger, variable, or folder in\naddition to its status in the workspace.",
       "id": "Entity",
       "properties": {
         "changeStatus": {
           "description": "Represents how the entity has been changed in the workspace.",
           "enum": [
-            "added",
             "changeStatusUnspecified",
-            "deleted",
             "none",
+            "added",
+            "deleted",
             "updated"
           ],
           "enumDescriptions": [
             "",
-            "",
-            "",
-            "",
-            ""
+            "The entity has never been changed.",
+            "The entity is added to the workspace.",
+            "The entity is deleted from the workspace.",
+            "The entity has been updated in the workspace."
           ],
           "type": "string"
         },
@@ -3666,7 +3537,7 @@
       "type": "object"
     },
     "Environment": {
-      "description": "Represents a Google Tag Manager Environment. Note that a user can create, delete and update environments of type USER, but can only update the enable_debug and url fields of environments of other types.",
+      "description": "Represents a Google Tag Manager Environment. Note that a user can create,\ndelete and update environments of type USER, but can only update the\nenable_debug and url fields of environments of other types.",
       "id": "Environment",
       "properties": {
         "accountId": {
@@ -3678,8 +3549,9 @@
           "type": "string"
         },
         "authorizationTimestamp": {
-          "$ref": "Timestamp",
-          "description": "The last update time-stamp for the authorization code."
+          "description": "The last update time-stamp for the authorization code.",
+          "format": "google-datetime",
+          "type": "string"
         },
         "containerId": {
           "description": "GTM Container ID.",
@@ -3690,11 +3562,11 @@
           "type": "string"
         },
         "description": {
-          "description": "The environment description. Can be set or changed only on USER type environments.",
+          "description": "The environment description. Can be set or changed only on USER type\nenvironments.\n@mutable tagmanager.accounts.containers.environments.create\n@mutable tagmanager.accounts.containers.environments.update",
           "type": "string"
         },
         "enableDebug": {
-          "description": "Whether or not to enable debug by default for the environment.",
+          "description": "Whether or not to enable debug by default for the environment.\n@mutable tagmanager.accounts.containers.environments.create\n@mutable tagmanager.accounts.containers.environments.update",
           "type": "boolean"
         },
         "environmentId": {
@@ -3702,7 +3574,7 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM environment as computed at storage time. This value is recomputed whenever the environment is modified.",
+          "description": "The fingerprint of the GTM environment as computed at storage time.\nThis value is recomputed whenever the environment is modified.",
           "type": "string"
         },
         "name": {
@@ -3712,7 +3584,7 @@
               "tagmanager.accounts.containers.environments.update"
             ]
           },
-          "description": "The environment display name. Can be set or changed only on USER type environments.",
+          "description": "The environment display name. Can be set or changed only on USER type\nenvironments.\n@mutable tagmanager.accounts.containers.environments.create\n@mutable tagmanager.accounts.containers.environments.update",
           "type": "string"
         },
         "path": {
@@ -3726,21 +3598,21 @@
         "type": {
           "description": "The type of this environment.",
           "enum": [
-            "latest",
-            "live",
             "user",
+            "live",
+            "latest",
             "workspace"
           ],
           "enumDescriptions": [
-            "",
-            "",
-            "",
-            ""
+            "Points to a user defined environment.",
+            "Points to the current live container version.",
+            "Points to the latest container version.",
+            "Automatically managed environment that points to a workspace preview or\nversion created by a workspace."
           ],
           "type": "string"
         },
         "url": {
-          "description": "Default preview page url for the environment.",
+          "description": "Default preview page url for the environment.\n@mutable tagmanager.accounts.containers.environments.create\n@mutable tagmanager.accounts.containers.environments.update",
           "type": "string"
         },
         "workspaceId": {
@@ -3763,7 +3635,7 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Folder as computed at storage time. This value is recomputed whenever the folder is modified.",
+          "description": "The fingerprint of the GTM Folder as computed at storage time.\nThis value is recomputed whenever the folder is modified.",
           "type": "string"
         },
         "folderId": {
@@ -3777,11 +3649,11 @@
               "tagmanager.accounts.containers.workspaces.folders.update"
             ]
           },
-          "description": "Folder display name.",
+          "description": "Folder display name.\n@mutable tagmanager.accounts.containers.workspaces.folders.create\n@mutable tagmanager.accounts.containers.workspaces.folders.update",
           "type": "string"
         },
         "notes": {
-          "description": "User notes on how to apply this folder in the container.",
+          "description": "User notes on how to apply this folder in the container.\n@mutable tagmanager.accounts.containers.workspaces.folders.create\n@mutable tagmanager.accounts.containers.workspaces.folders.update",
           "type": "string"
         },
         "path": {
@@ -3832,7 +3704,7 @@
       "type": "object"
     },
     "GetWorkspaceStatusResponse": {
-      "description": "The changes that have occurred in the workspace since the base container version.",
+      "description": "The changes that have occurred in the workspace since the base container\nversion.",
       "id": "GetWorkspaceStatusResponse",
       "properties": {
         "mergeConflict": {
@@ -4090,11 +3962,11 @@
       "properties": {
         "entityInBaseVersion": {
           "$ref": "Entity",
-          "description": "The base version entity (since the latest sync operation) that has conflicting changes compared to the workspace. If this field is missing, it means the workspace entity is deleted from the base version."
+          "description": "The base version entity (since the latest sync operation) that has\nconflicting changes compared to the workspace. If this field is missing,\nit means the workspace entity is deleted from the base version."
         },
         "entityInWorkspace": {
           "$ref": "Entity",
-          "description": "The workspace entity that has conflicting changes compared to the base version. If an entity is deleted in a workspace, it will still appear with a deleted change status."
+          "description": "The workspace entity that has conflicting changes compared to the\nbase version. If an entity is deleted in a workspace, it will still\nappear with a deleted change status."
         }
       },
       "type": "object"
@@ -4104,18 +3976,18 @@
       "id": "Parameter",
       "properties": {
         "key": {
-          "description": "The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.",
+          "description": "The named key that uniquely identifies a parameter.  Required for top-level\nparameters, as well as map values.  Ignored for list values.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "type": "string"
         },
         "list": {
-          "description": "This list parameter's parameters (keys will be ignored).",
+          "description": "This list parameter's parameters (keys will be ignored).\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "items": {
             "$ref": "Parameter"
           },
           "type": "array"
         },
         "map": {
-          "description": "This map parameter's parameters (must have keys; keys must be unique).",
+          "description": "This map parameter's parameters (must have keys; keys must be unique).\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -4132,19 +4004,19 @@
               "tagmanager.accounts.containers.workspaces.variables.update"
             ]
           },
-          "description": "The parameter type. Valid values are: \n- boolean: The value represents a boolean, represented as 'true' or 'false' \n- integer: The value represents a 64-bit signed integer value, in base 10 \n- list: A list of parameters should be specified \n- map: A map of parameters should be specified \n- template: The value represents any text; this can include variable references (even variable references that might return non-string types) \n- trigger_reference: The value represents a trigger, represented as the trigger id",
+          "description": "The parameter type.  Valid values are:\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eboolean\u003c/code\u003e: The value represents a boolean, represented as\n    'true' or 'false'\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003einteger\u003c/code\u003e: The value represents a 64-bit signed integer\n    value, in base 10\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elist\u003c/code\u003e: A list of parameters should be specified\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emap\u003c/code\u003e: A map of parameters should be specified\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etemplate\u003c/code\u003e: The value represents any text; this can include\n    variable references (even variable references that might return\n    non-string types)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etrigger_reference\u003c/code\u003e: The value represents a trigger,\n    represented as the trigger id\u003c/li\u003e\n\u003c/ul\u003e\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "enum": [
-            "boolean",
+            "typeUnspecified",
+            "template",
             "integer",
+            "boolean",
             "list",
             "map",
-            "template",
-            "triggerReference",
-            "typeUnspecified"
+            "triggerReference"
           ],
           "enumDescriptions": [
             "",
-            "",
+            "May include variable references (such as \"{{myVariable}}\").",
             "",
             "",
             "",
@@ -4154,7 +4026,7 @@
           "type": "string"
         },
         "value": {
-          "description": "A parameter's value (may contain variable references such as \"{{myVariable}}\") as appropriate to the specified type.",
+          "description": "A parameter's value (may contain variable references such as\n\"{{myVariable}}\")\nas appropriate to the specified type.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "type": "string"
         }
       },
@@ -4189,7 +4061,7 @@
         },
         "syncStatus": {
           "$ref": "SyncStatus",
-          "description": "Whether quick previewing failed when syncing the workspace to the latest container version."
+          "description": "Whether quick previewing failed when syncing the workspace to the latest\ncontainer version."
         }
       },
       "type": "object"
@@ -4211,7 +4083,7 @@
       "properties": {
         "folder": {
           "$ref": "Folder",
-          "description": "Folder as it appears in the latest container version since the last workspace synchronization operation. If no folder is present, that means the folder was deleted in the latest container version."
+          "description": "Folder as it appears in the latest container version since the last\nworkspace synchronization operation. If no folder is present, that means\nthe folder was deleted in the latest container version."
         }
       },
       "type": "object"
@@ -4222,7 +4094,7 @@
       "properties": {
         "tag": {
           "$ref": "Tag",
-          "description": "Tag as it appears in the latest container version since the last workspace synchronization operation. If no tag is present, that means the tag was deleted in the latest container version."
+          "description": "Tag as it appears in the latest container version since the last\nworkspace synchronization operation. If no tag is present, that means\nthe tag was deleted in the latest container version."
         }
       },
       "type": "object"
@@ -4233,7 +4105,7 @@
       "properties": {
         "template": {
           "$ref": "CustomTemplate",
-          "description": "Template as it appears in the latest container version since the last workspace synchronization operation. If no template is present, that means the template was deleted in the latest container version."
+          "description": "Template as it appears in the latest container version since the last\nworkspace synchronization operation. If no template is present, that means\nthe template was deleted in the latest container version."
         }
       },
       "type": "object"
@@ -4244,7 +4116,7 @@
       "properties": {
         "trigger": {
           "$ref": "Trigger",
-          "description": "Trigger as it appears in the latest container version since the last workspace synchronization operation. If no trigger is present, that means the trigger was deleted in the latest container version."
+          "description": "Trigger as it appears in the latest container version since the last\nworkspace synchronization operation. If no trigger is present, that means\nthe trigger was deleted in the latest container version."
         }
       },
       "type": "object"
@@ -4255,7 +4127,7 @@
       "properties": {
         "variable": {
           "$ref": "Variable",
-          "description": "Variable as it appears in the latest container version since the last workspace synchronization operation. If no variable is present, that means the variable was deleted in the latest container version."
+          "description": "Variable as it appears in the latest container version since the last\nworkspace synchronization operation. If no variable is present, that means\nthe variable was deleted in the latest container version."
         }
       },
       "type": "object"
@@ -4266,17 +4138,17 @@
       "properties": {
         "zone": {
           "$ref": "Zone",
-          "description": "Zone as it appears in the latest container version since the last workspace synchronization operation. If no zone is present, that means the zone was deleted in the latest container version."
+          "description": "Zone as it appears in the latest container version since the last\nworkspace synchronization operation. If no zone is present, that means\nthe zone was deleted in the latest container version."
         }
       },
       "type": "object"
     },
     "SetupTag": {
-      "description": "Represents a reference to atag that fires before another tag in order to set up dependencies.",
+      "description": "Represents a reference to atag that fires before another tag in order to\nset up dependencies.",
       "id": "SetupTag",
       "properties": {
         "stopOnSetupFailure": {
-          "description": "If true, fire the main tag if and only if the setup tag fires successfully. If false, fire the main tag regardless of setup tag firing status.",
+          "description": "If true, fire the main tag if and only if the setup tag fires\nsuccessfully.\nIf false, fire the main tag regardless of setup tag firing status.",
           "type": "boolean"
         },
         "tagName": {
@@ -4306,7 +4178,7 @@
       "id": "SyncWorkspaceResponse",
       "properties": {
         "mergeConflict": {
-          "description": "The merge conflict after sync. If this field is not empty, the sync is still treated as successful. But a version cannot be created until all conflicts are resolved.",
+          "description": "The merge conflict after sync.\nIf this field is not empty, the sync is still treated as successful.\nBut a version cannot be created until all conflicts are resolved.",
           "items": {
             "$ref": "MergeConflict"
           },
@@ -4328,14 +4200,14 @@
           "type": "string"
         },
         "blockingRuleId": {
-          "description": "Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.",
+          "description": "Blocking rule IDs. If any of the listed rules evaluate to true, the tag\n    will not fire.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "blockingTriggerId": {
-          "description": "Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.",
+          "description": "Blocking trigger IDs. If any of the listed triggers evaluate to true, the\ntag will not fire.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "items": {
             "type": "string"
           },
@@ -4346,25 +4218,25 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.",
+          "description": "The fingerprint of the GTM Tag as computed at storage time.\nThis value is recomputed whenever the tag is modified.",
           "type": "string"
         },
         "firingRuleId": {
-          "description": "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.",
+          "description": "Firing rule IDs. A tag will fire when any of the listed rules are true and\n    all of its \u003ccode\u003eblockingRuleIds\u003c/code\u003e (if any specified) are false.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "firingTriggerId": {
-          "description": "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.",
+          "description": "Firing trigger IDs. A tag will fire when any of the listed triggers are\ntrue and all of its \u003ccode\u003eblockingTriggerIds\u003c/code\u003e (if any specified) are\nfalse.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "liveOnly": {
-          "description": "If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).",
+          "description": "If set to true, this tag will only fire in the live environment (e.g. not\nin preview or debug mode).\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "type": "boolean"
         },
         "name": {
@@ -4374,15 +4246,15 @@
               "tagmanager.accounts.containers.workspaces.tags.update"
             ]
           },
-          "description": "Tag display name.",
+          "description": "Tag display name.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "type": "string"
         },
         "notes": {
-          "description": "User notes on how to apply this tag in the container.",
+          "description": "User notes on how to apply this tag in the container.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "type": "string"
         },
         "parameter": {
-          "description": "The tag's parameters.",
+          "description": "The tag's parameters.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -4397,20 +4269,20 @@
           "type": "string"
         },
         "paused": {
-          "description": "Indicates whether the tag is paused, which prevents the tag from firing.",
+          "description": "Indicates whether the tag is paused, which prevents the tag from firing.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "type": "boolean"
         },
         "priority": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "User defined numeric priority of the tag. Tags are fired asynchronously in\norder of priority. Tags with higher numeric value fire first. A tag's\npriority can be a positive or negative value. The default value is 0.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update"
         },
         "scheduleEndMs": {
-          "description": "The end timestamp in milliseconds to schedule a tag.",
+          "description": "The end timestamp in milliseconds to schedule a tag.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "format": "int64",
           "type": "string"
         },
         "scheduleStartMs": {
-          "description": "The start timestamp in milliseconds to schedule a tag.",
+          "description": "The start timestamp in milliseconds to schedule a tag.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "format": "int64",
           "type": "string"
         },
@@ -4424,16 +4296,16 @@
         "tagFiringOption": {
           "description": "Option to fire this tag.",
           "enum": [
-            "oncePerEvent",
-            "oncePerLoad",
             "tagFiringOptionUnspecified",
-            "unlimited"
+            "unlimited",
+            "oncePerEvent",
+            "oncePerLoad"
           ],
           "enumDescriptions": [
             "",
-            "",
-            "",
-            ""
+            "Tag can be fired multiple times per event.",
+            "Tag can only be fired per event but can be fired multiple times per load\n(e.g., app load or page load).",
+            "Tag can only be fired per load (e.g., app load or page load)."
           ],
           "type": "string"
         },
@@ -4459,7 +4331,7 @@
               "tagmanager.accounts.containers.workspaces.tags.update"
             ]
           },
-          "description": "GTM Tag Type.",
+          "description": "GTM Tag Type.\n@mutable tagmanager.accounts.containers.workspaces.tags.create\n@mutable tagmanager.accounts.containers.workspaces.tags.update",
           "type": "string"
         },
         "workspaceId": {
@@ -4470,11 +4342,11 @@
       "type": "object"
     },
     "TeardownTag": {
-      "description": "Represents a tag that fires after another tag in order to tear down dependencies.",
+      "description": "Represents a tag that fires after another tag in order to tear down\ndependencies.",
       "id": "TeardownTag",
       "properties": {
         "stopTeardownOnFailure": {
-          "description": "If true, fire the teardown tag if and only if the main tag fires successfully. If false, fire the teardown tag regardless of main tag firing status.",
+          "description": "If true, fire the teardown tag if and only if the main tag fires\nsuccessfully.\nIf false, fire the teardown tag regardless of main tag firing status.",
           "type": "boolean"
         },
         "tagName": {
@@ -4484,23 +4356,6 @@
       },
       "type": "object"
     },
-    "Timestamp": {
-      "description": "A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one.\n\nAll minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap second table is needed for interpretation, using a [24-hour linear smear](https://developers.google.com/time/smear).\n\nThe range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n# Examples\n\nExample 1: Compute Timestamp from POSIX `time()`.\n\nTimestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);\n\nExample 2: Compute Timestamp from POSIX `gettimeofday()`.\n\nstruct timeval tv; gettimeofday(\u0026tv, NULL);\n\nTimestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);\n\nExample 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\nFILETIME ft; GetSystemTimeAsFileTime(\u0026ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) \u003c\u003c 32) | ft.dwLowDateTime;\n\n// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\nExample 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\nlong millis = System.currentTimeMillis();\n\nTimestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n\n\nExample 5: Compute Timestamp from current time in Python.\n\ntimestamp = Timestamp() timestamp.GetCurrentTime()\n\n# JSON Mapping\n\nIn JSON format, the Timestamp type is encoded as a string in the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\" where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone is required. A proto3 JSON serializer should always use UTC (as indicated by \"Z\") when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset).\n\nFor example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past 01:30 UTC on January 15, 2017.\n\nIn JavaScript, one can convert a Date object to this format using the standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) method. In Python, a standard `datetime.datetime` object can be converted to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D ) to obtain a formatter capable of generating timestamps in this format.",
-      "id": "Timestamp",
-      "properties": {
-        "nanos": {
-          "description": "Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.",
-          "format": "int32",
-          "type": "integer"
-        },
-        "seconds": {
-          "description": "Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.",
-          "format": "int64",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
     "Trigger": {
       "description": "Represents a Google Tag Manager Trigger",
       "id": "Trigger",
@@ -4510,7 +4365,7 @@
           "type": "string"
         },
         "autoEventFilter": {
-          "description": "Used in the case of auto event tracking.",
+          "description": "Used in the case of auto event tracking.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "items": {
             "$ref": "Condition"
           },
@@ -4518,7 +4373,7 @@
         },
         "checkValidation": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "Whether or not we should only fire tags if the form submit or link click\nevent is not cancelled by some other event handler (e.g. because of\nvalidation). Only valid for Form Submission and Link Click triggers.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "containerId": {
           "description": "GTM Container ID.",
@@ -4526,10 +4381,10 @@
         },
         "continuousTimeMinMilliseconds": {
           "$ref": "Parameter",
-          "description": "A visibility trigger minimum continuous visible time (in milliseconds). Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger minimum continuous visible time (in milliseconds).\nOnly valid for AMP Visibility trigger.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "customEventFilter": {
-          "description": "Used in the case of custom event, which is fired iff all Conditions are true.",
+          "description": "Used in the case of custom event, which is fired iff all Conditions are\ntrue.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "items": {
             "$ref": "Condition"
           },
@@ -4537,38 +4392,38 @@
         },
         "eventName": {
           "$ref": "Parameter",
-          "description": "Name of the GTM event that is fired. Only valid for Timer triggers."
+          "description": "Name of the GTM event that is fired. Only valid for Timer triggers.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "filter": {
-          "description": "The trigger will only fire iff all Conditions are true.",
+          "description": "The trigger will only fire iff all Conditions are true.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "items": {
             "$ref": "Condition"
           },
           "type": "array"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.",
+          "description": "The fingerprint of the GTM Trigger as computed at storage time.\nThis value is recomputed whenever the trigger is modified.",
           "type": "string"
         },
         "horizontalScrollPercentageList": {
           "$ref": "Parameter",
-          "description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled horizontally. Only valid for AMP scroll triggers."
+          "description": "List of integer percentage values for scroll triggers. The trigger will\nfire when each percentage is reached when the view is scrolled\nhorizontally. Only valid for AMP scroll triggers.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "interval": {
           "$ref": "Parameter",
-          "description": "Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers."
+          "description": "Time between triggering recurring Timer Events (in milliseconds). Only\nvalid for Timer triggers.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "intervalSeconds": {
           "$ref": "Parameter",
-          "description": "Time between Timer Events to fire (in seconds). Only valid for AMP Timer trigger."
+          "description": "Time between Timer Events to fire (in seconds). Only valid for AMP Timer\ntrigger.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "limit": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "Limit of the number of GTM events this Timer Trigger will fire. If no limit\nis set, we will continue to fire GTM events until the user leaves the page.\nOnly valid for Timer triggers.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "maxTimerLengthSeconds": {
           "$ref": "Parameter",
-          "description": "Max time to fire Timer Events (in seconds). Only valid for AMP Timer trigger."
+          "description": "Max time to fire Timer Events (in seconds). Only valid for AMP Timer\ntrigger.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "name": {
           "annotations": {
@@ -4577,15 +4432,15 @@
               "tagmanager.accounts.containers.workspaces.triggers.update"
             ]
           },
-          "description": "Trigger display name.",
+          "description": "Trigger display name.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "type": "string"
         },
         "notes": {
-          "description": "User notes on how to apply this trigger in the container.",
+          "description": "User notes on how to apply this trigger in the container.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "type": "string"
         },
         "parameter": {
-          "description": "Additional parameters.",
+          "description": "Additional parameters.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -4601,7 +4456,7 @@
         },
         "selector": {
           "$ref": "Parameter",
-          "description": "A click trigger CSS selector (i.e. \"a\", \"button\" etc.). Only valid for AMP Click trigger."
+          "description": "A click trigger CSS selector (i.e. \"a\", \"button\" etc.). Only valid for AMP\nClick trigger.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "tagManagerUrl": {
           "description": "Auto generated link to the tag manager UI",
@@ -4609,7 +4464,7 @@
         },
         "totalTimeMinMilliseconds": {
           "$ref": "Parameter",
-          "description": "A visibility trigger minimum total visible time (in milliseconds). Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger minimum total visible time (in milliseconds).\nOnly valid for AMP Visibility trigger.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "triggerId": {
           "description": "The Trigger ID uniquely identifies the GTM Trigger.",
@@ -4621,18 +4476,15 @@
               "tagmanager.accounts.containers.workspaces.triggers.create"
             ]
           },
-          "description": "Defines the data layer event that causes this trigger.",
+          "description": "Defines the data layer event that causes this trigger.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update",
           "enum": [
-            "always",
-            "ampClick",
-            "ampScroll",
-            "ampTimer",
-            "ampVisibility",
-            "click",
-            "customEvent",
-            "domReady",
-            "elementVisibility",
             "eventTypeUnspecified",
+            "pageview",
+            "domReady",
+            "windowLoaded",
+            "customEvent",
+            "triggerGroup",
+            "always",
             "firebaseAppException",
             "firebaseAppUpdate",
             "firebaseCampaign",
@@ -4646,15 +4498,18 @@
             "firebaseSessionStart",
             "firebaseUserEngagement",
             "formSubmission",
-            "historyChange",
-            "jsError",
+            "click",
             "linkClick",
-            "pageview",
-            "scrollDepth",
+            "jsError",
+            "historyChange",
             "timer",
-            "triggerGroup",
-            "windowLoaded",
-            "youTubeVideo"
+            "ampClick",
+            "ampTimer",
+            "ampScroll",
+            "ampVisibility",
+            "youTubeVideo",
+            "scrollDepth",
+            "elementVisibility"
           ],
           "enumDescriptions": [
             "",
@@ -4694,31 +4549,31 @@
         },
         "uniqueTriggerId": {
           "$ref": "Parameter",
-          "description": "Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) 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 Submit, Link Click and Timer triggers."
+          "description": "Globally unique id of the trigger that auto-generates this (a Form Submit,\nLink Click or Timer listener) if any. Used to make incompatible auto-events\nwork together with trigger filtering based on trigger ids. This value is\npopulated during output generation since the tags implied by triggers don't\nexist until then. Only valid for Form Submit, Link Click and Timer\ntriggers.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "verticalScrollPercentageList": {
           "$ref": "Parameter",
-          "description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled vertically. Only valid for AMP scroll triggers."
+          "description": "List of integer percentage values for scroll triggers. The trigger will\nfire when each percentage is reached when the view is scrolled vertically.\nOnly valid for AMP scroll triggers.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "visibilitySelector": {
           "$ref": "Parameter",
-          "description": "A visibility trigger CSS selector (i.e. \"#id\"). Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger CSS selector (i.e. \"#id\"). Only valid for AMP\nVisibility trigger.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "visiblePercentageMax": {
           "$ref": "Parameter",
-          "description": "A visibility trigger maximum percent visibility. Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger maximum percent visibility. Only valid for AMP\nVisibility trigger.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "visiblePercentageMin": {
           "$ref": "Parameter",
-          "description": "A visibility trigger minimum percent visibility. Only valid for AMP Visibility trigger."
+          "description": "A visibility trigger minimum percent visibility. Only valid for AMP\nVisibility trigger.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "waitForTags": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "Whether or not we should delay the form submissions or link opening\nuntil all of the tags have fired (by preventing the default\naction and later simulating the default action). Only valid for\nForm Submission and Link Click triggers.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "waitForTagsTimeout": {
           "$ref": "Parameter",
-          "description": "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."
+          "description": "How long to wait (in milliseconds) for tags to fire when 'waits_for_tags'\nabove evaluates to \u003ccode\u003etrue\u003c/code\u003e.  Only valid for Form Submission and\nLink Click triggers.\n@mutable tagmanager.accounts.containers.workspaces.triggers.create\n@mutable tagmanager.accounts.containers.workspaces.triggers.update"
         },
         "workspaceId": {
           "description": "GTM Workspace ID.",
@@ -4733,21 +4588,21 @@
       "properties": {
         "accountAccess": {
           "$ref": "AccountAccess",
-          "description": "GTM Account access permissions."
+          "description": "GTM Account access permissions.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update"
         },
         "accountId": {
           "description": "The Account ID uniquely identifies the GTM Account.",
           "type": "string"
         },
         "containerAccess": {
-          "description": "GTM Container access permissions.",
+          "description": "GTM Container access permissions.\n@mutable tagmanager.accounts.permissions.create\n@mutable tagmanager.accounts.permissions.update",
           "items": {
             "$ref": "ContainerAccess"
           },
           "type": "array"
         },
         "emailAddress": {
-          "description": "User's email address.",
+          "description": "User's email address.\n@mutable tagmanager.accounts.permissions.create",
           "type": "string"
         },
         "path": {
@@ -4770,21 +4625,21 @@
           "type": "string"
         },
         "disablingTriggerId": {
-          "description": "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.",
+          "description": "For mobile containers only: A list of trigger IDs for disabling conditional\nvariables; the variable is enabled if one of the enabling trigger is true\nwhile all the disabling trigger are false. Treated as an unordered set.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "enablingTriggerId": {
-          "description": "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.",
+          "description": "For mobile containers only: A list of trigger IDs for enabling conditional\nvariables; the variable is enabled if one of the enabling triggers is true\nwhile all the disabling triggers are false. Treated as an unordered set.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.",
+          "description": "The fingerprint of the GTM Variable as computed at storage time.\nThis value is recomputed whenever the variable is modified.",
           "type": "string"
         },
         "formatValue": {
@@ -4798,15 +4653,15 @@
               "tagmanager.accounts.containers.workspaces.variables.update"
             ]
           },
-          "description": "Variable display name.",
+          "description": "Variable display name.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update",
           "type": "string"
         },
         "notes": {
-          "description": "User notes on how to apply this variable in the container.",
+          "description": "User notes on how to apply this variable in the container.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update",
           "type": "string"
         },
         "parameter": {
-          "description": "The variable's parameters.",
+          "description": "The variable's parameters.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update",
           "items": {
             "$ref": "Parameter"
           },
@@ -4821,12 +4676,12 @@
           "type": "string"
         },
         "scheduleEndMs": {
-          "description": "The end timestamp in milliseconds to schedule a variable.",
+          "description": "The end timestamp in milliseconds to schedule a variable.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update",
           "format": "int64",
           "type": "string"
         },
         "scheduleStartMs": {
-          "description": "The start timestamp in milliseconds to schedule a variable.",
+          "description": "The start timestamp in milliseconds to schedule a variable.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update",
           "format": "int64",
           "type": "string"
         },
@@ -4841,7 +4696,7 @@
               "tagmanager.accounts.containers.workspaces.variables.update"
             ]
           },
-          "description": "GTM Variable Type.",
+          "description": "GTM Variable Type.\n@mutable tagmanager.accounts.containers.workspaces.variables.create\n@mutable tagmanager.accounts.containers.workspaces.variables.update",
           "type": "string"
         },
         "variableId": {
@@ -4859,16 +4714,16 @@
       "id": "VariableFormatValue",
       "properties": {
         "caseConversionType": {
-          "description": "The option to convert a string-type variable value to either lowercase or uppercase.",
+          "description": "The option to convert a string-type variable value to either lowercase or\nuppercase.",
           "enum": [
-            "lowercase",
             "none",
+            "lowercase",
             "uppercase"
           ],
           "enumDescriptions": [
             "",
-            "",
-            ""
+            "The option to convert a variable value to lowercase.",
+            "The option to convert a variable value to uppercase."
           ],
           "type": "string"
         },
@@ -4904,11 +4759,11 @@
           "type": "string"
         },
         "description": {
-          "description": "Workspace description.",
+          "description": "Workspace description.\n@mutable tagmanager.accounts.containers.workspaces.create\n@mutable tagmanager.accounts.containers.workspaces.update",
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Workspace as computed at storage time. This value is recomputed whenever the workspace is modified.",
+          "description": "The fingerprint of the GTM Workspace as computed at storage time. This\nvalue is recomputed whenever the workspace is modified.",
           "type": "string"
         },
         "name": {
@@ -4918,7 +4773,7 @@
               "tagmanager.accounts.containers.workspaces.update"
             ]
           },
-          "description": "Workspace display name.",
+          "description": "Workspace display name.\n@mutable tagmanager.accounts.containers.workspaces.create\n@mutable tagmanager.accounts.containers.workspaces.update",
           "type": "string"
         },
         "path": {
@@ -4960,7 +4815,7 @@
           "type": "string"
         },
         "fingerprint": {
-          "description": "The fingerprint of the GTM Zone as computed at storage time. This value is recomputed whenever the zone is modified.",
+          "description": "The fingerprint of the GTM Zone as computed at storage time.\nThis value is recomputed whenever the zone is modified.",
           "type": "string"
         },
         "name": {
@@ -5006,7 +4861,7 @@
           "type": "array"
         },
         "customEvaluationTriggerId": {
-          "description": "Custom evaluation trigger IDs. A zone will evaluate its boundary conditions when any of the listed triggers are true.",
+          "description": "Custom evaluation trigger IDs. A zone will evaluate its boundary\nconditions when any of the listed triggers are true.",
           "items": {
             "type": "string"
           },
@@ -5049,7 +4904,7 @@
       "type": "object"
     }
   },
-  "servicePath": "tagmanager/v2/",
+  "servicePath": "",
   "title": "Tag Manager API",
   "version": "v2"
 }
\ No newline at end of file
diff --git a/tagmanager/v2/tagmanager-gen.go b/tagmanager/v2/tagmanager-gen.go
index 0dd91b6..6f08d98 100644
--- a/tagmanager/v2/tagmanager-gen.go
+++ b/tagmanager/v2/tagmanager-gen.go
@@ -6,7 +6,7 @@
 
 // Package tagmanager provides access to the Tag Manager API.
 //
-// For product documentation, see: https://developers.google.com/tag-manager/api/v2/
+// For product documentation, see: https://developers.google.com/tag-manager
 //
 // Creating a client
 //
@@ -76,7 +76,7 @@
 const apiId = "tagmanager:v2"
 const apiName = "tagmanager"
 const apiVersion = "v2"
-const basePath = "https://www.googleapis.com/tagmanager/v2/"
+const basePath = "https://www.googleapis.com/"
 
 // OAuth2 scopes used by this API.
 const (
@@ -331,21 +331,29 @@
 	AccountId string `json:"accountId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Account as computed at
-	// storage time. This value is recomputed whenever the account is
-	// modified.
+	// storage time.
+	// This value is recomputed whenever the account is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: Account display name.
+	// @mutable tagmanager.accounts.create
+	// @mutable tagmanager.accounts.update
 	Name string `json:"name,omitempty"`
 
 	// Path: GTM Account's API relative path.
 	Path string `json:"path,omitempty"`
 
 	// ShareData: Whether the account shares data anonymously with Google
-	// and others. This flag enables benchmarking by sharing your data in an
-	// anonymous form. Google will remove all identifiable information about
-	// your website, combine the data with hundreds of other anonymous sites
-	// and report aggregate trends in the benchmarking service.
+	// and others.
+	// This flag enables benchmarking by sharing your data in an anonymous
+	// form.
+	// Google will remove all identifiable information about your website,
+	// combine
+	// the data with hundreds of other anonymous sites and report aggregate
+	// trends
+	// in the benchmarking service.
+	// @mutable tagmanager.accounts.create
+	// @mutable tagmanager.accounts.update
 	ShareData bool `json:"shareData,omitempty"`
 
 	// TagManagerUrl: Auto generated link to the tag manager UI
@@ -383,12 +391,14 @@
 type AccountAccess struct {
 	// Permission: Whether the user has no access, user access, or admin
 	// access to an account.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	//
 	// Possible values:
 	//   "accountPermissionUnspecified"
-	//   "admin"
 	//   "noAccess"
 	//   "user"
+	//   "admin"
 	Permission string `json:"permission,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Permission") to
@@ -415,9 +425,12 @@
 }
 
 // BuiltInVariable: Built-in variables are a special category of
-// variables that are pre-created and non-customizable. They provide
-// common functionality like accessing propeties of the gtm data layer,
-// monitoring clicks, or accessing elements of a page URL.
+// variables that are pre-created
+// and non-customizable. They provide common functionality like
+// accessing
+// propeties of the gtm data layer, monitoring clicks, or accessing
+// elements
+// of a page URL.
 type BuiltInVariable struct {
 	// AccountId: GTM Account ID.
 	AccountId string `json:"accountId,omitempty"`
@@ -432,55 +445,80 @@
 	// Path: GTM BuiltInVariable's API relative path.
 	Path string `json:"path,omitempty"`
 
-	// Type: Type of built-in variable.
+	// Type: Type of built-in
+	// variable.
+	// @required.tagmanager.accounts.containers.workspaces.built_in
+	// _variable.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.built_in_variable.update
 	//
 	// Possible values:
-	//   "advertiserId"
-	//   "advertisingTrackingEnabled"
-	//   "ampBrowserLanguage"
-	//   "ampCanonicalHost"
-	//   "ampCanonicalPath"
-	//   "ampCanonicalUrl"
-	//   "ampClientId"
-	//   "ampClientMaxScrollX"
-	//   "ampClientMaxScrollY"
-	//   "ampClientScreenHeight"
-	//   "ampClientScreenWidth"
-	//   "ampClientScrollX"
-	//   "ampClientScrollY"
-	//   "ampClientTimestamp"
-	//   "ampClientTimezone"
-	//   "ampGtmEvent"
-	//   "ampPageDownloadTime"
-	//   "ampPageLoadTime"
-	//   "ampPageViewId"
-	//   "ampReferrer"
-	//   "ampTitle"
-	//   "ampTotalEngagedTime"
+	//   "builtInVariableTypeUnspecified"
+	//   "pageUrl"
+	//   "pageHostname"
+	//   "pagePath"
+	//   "referrer"
+	//   "event" - For web or mobile.
+	//   "clickElement"
+	//   "clickClasses"
+	//   "clickId"
+	//   "clickTarget"
+	//   "clickUrl"
+	//   "clickText"
+	//   "formElement"
+	//   "formClasses"
+	//   "formId"
+	//   "formTarget"
+	//   "formUrl"
+	//   "formText"
+	//   "errorMessage"
+	//   "errorUrl"
+	//   "errorLine"
+	//   "newHistoryUrl"
+	//   "oldHistoryUrl"
+	//   "newHistoryFragment"
+	//   "oldHistoryFragment"
+	//   "newHistoryState"
+	//   "oldHistoryState"
+	//   "historySource"
+	//   "containerVersion" - For web or mobile.
+	//   "debugMode"
+	//   "randomNumber" - For web or mobile.
+	//   "containerId" - For web or mobile.
 	//   "appId"
 	//   "appName"
 	//   "appVersionCode"
 	//   "appVersionName"
-	//   "builtInVariableTypeUnspecified"
-	//   "clickClasses"
-	//   "clickElement"
-	//   "clickId"
-	//   "clickTarget"
-	//   "clickText"
-	//   "clickUrl"
-	//   "containerId"
-	//   "containerVersion"
-	//   "debugMode"
+	//   "language"
+	//   "osVersion"
+	//   "platform"
+	//   "sdkVersion"
 	//   "deviceName"
-	//   "elementVisibilityFirstTime"
-	//   "elementVisibilityRatio"
-	//   "elementVisibilityRecentTime"
-	//   "elementVisibilityTime"
+	//   "resolution"
+	//   "advertiserId"
+	//   "advertisingTrackingEnabled"
+	//   "htmlId"
 	//   "environmentName"
-	//   "errorLine"
-	//   "errorMessage"
-	//   "errorUrl"
-	//   "event"
+	//   "ampBrowserLanguage"
+	//   "ampCanonicalPath"
+	//   "ampCanonicalUrl"
+	//   "ampCanonicalHost"
+	//   "ampReferrer"
+	//   "ampTitle"
+	//   "ampClientId"
+	//   "ampClientTimezone"
+	//   "ampClientTimestamp"
+	//   "ampClientScreenWidth"
+	//   "ampClientScreenHeight"
+	//   "ampClientScrollX"
+	//   "ampClientScrollY"
+	//   "ampClientMaxScrollX"
+	//   "ampClientMaxScrollY"
+	//   "ampTotalEngagedTime"
+	//   "ampPageViewId"
+	//   "ampPageLoadTime"
+	//   "ampPageDownloadTime"
+	//   "ampGtmEvent"
 	//   "eventName"
 	//   "firebaseEventParameterCampaign"
 	//   "firebaseEventParameterCampaignAclid"
@@ -505,41 +543,21 @@
 	//   "firebaseEventParameterProductId"
 	//   "firebaseEventParameterQuantity"
 	//   "firebaseEventParameterValue"
-	//   "formClasses"
-	//   "formElement"
-	//   "formId"
-	//   "formTarget"
-	//   "formText"
-	//   "formUrl"
-	//   "historySource"
-	//   "htmlId"
-	//   "language"
-	//   "newHistoryFragment"
-	//   "newHistoryState"
-	//   "newHistoryUrl"
-	//   "oldHistoryFragment"
-	//   "oldHistoryState"
-	//   "oldHistoryUrl"
-	//   "osVersion"
-	//   "pageHostname"
-	//   "pagePath"
-	//   "pageUrl"
-	//   "platform"
-	//   "randomNumber"
-	//   "referrer"
-	//   "resolution"
-	//   "scrollDepthDirection"
-	//   "scrollDepthThreshold"
-	//   "scrollDepthUnits"
-	//   "sdkVersion"
-	//   "videoCurrentTime"
+	//   "videoProvider"
+	//   "videoUrl"
+	//   "videoTitle"
 	//   "videoDuration"
 	//   "videoPercent"
-	//   "videoProvider"
-	//   "videoStatus"
-	//   "videoTitle"
-	//   "videoUrl"
 	//   "videoVisible"
+	//   "videoStatus"
+	//   "videoCurrentTime"
+	//   "scrollDepthThreshold"
+	//   "scrollDepthUnits"
+	//   "scrollDepthDirection"
+	//   "elementVisibilityRatio"
+	//   "elementVisibilityTime"
+	//   "elementVisibilityFirstTime"
+	//   "elementVisibilityRecentTime"
 	Type string `json:"type,omitempty"`
 
 	// WorkspaceId: GTM Workspace ID.
@@ -571,33 +589,51 @@
 // Condition: Represents a predicate.
 type Condition struct {
 	// 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
-	// variable.
-	// - 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.
+	// condition's type.
+	// Notes:<ul>
+	// <li>For binary operators, include parameters named <code>arg0</code>
+	// and
+	//    <code>arg1</code> for specifying the left and right operands,
+	//    respectively.</li>
+	// <li>At this time, the left operand (<code>arg0</code>) must be a
+	// reference
+	//     to a variable.</li>
+	// <li>For case-insensitive Regex matching, include a boolean parameter
+	// named
+	//     <code>ignore_case</code> that is set to <code>true</code>.
+	//     If not specified or set to any other value, the matching will be
+	// case
+	//     sensitive.</li>
+	// <li>To negate an operator, include a boolean parameter named
+	//     <code>negate</code> boolean parameter that is set to
+	// <code>true</code>.
+	//     </li>
+	// </ul>
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	Parameter []*Parameter `json:"parameter,omitempty"`
 
 	// Type: The type of operator for this condition.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	//
 	// Possible values:
 	//   "conditionTypeUnspecified"
-	//   "contains"
-	//   "cssSelector"
-	//   "endsWith"
 	//   "equals"
+	//   "contains"
+	//   "startsWith"
+	//   "endsWith"
+	//   "matchRegex"
 	//   "greater"
 	//   "greaterOrEquals"
 	//   "less"
 	//   "lessOrEquals"
-	//   "matchRegex"
-	//   "startsWith"
-	//   "urlMatches"
+	//   "cssSelector"
+	//   "urlMatches" - NOTE(lanzone): When defining a ConditionType here,
+	// don't forget to also
+	// define a matching PredicateType (in condition.proto).
 	Type string `json:"type,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Parameter") to
@@ -624,8 +660,8 @@
 }
 
 // Container: Represents a Google Tag Manager Container, which specifies
-// the platform tags will run on, manages workspaces, and retains
-// container versions.
+// the platform tags
+// will run on, manages workspaces, and retains container versions.
 type Container struct {
 	// AccountId: GTM Account ID.
 	AccountId string `json:"accountId,omitempty"`
@@ -633,18 +669,25 @@
 	// ContainerId: The Container ID uniquely identifies the GTM Container.
 	ContainerId string `json:"containerId,omitempty"`
 
-	// DomainName: List of domain names associated with the Container.
+	// DomainName: List of domain names associated with the
+	// Container.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	DomainName []string `json:"domainName,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Container as computed at
-	// storage time. This value is recomputed whenever the account is
-	// modified.
+	// storage time.  This
+	// value is recomputed whenever the account is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: Container display name.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	Name string `json:"name,omitempty"`
 
 	// Notes: Container Notes.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	Notes string `json:"notes,omitempty"`
 
 	// Path: GTM Container's API relative path.
@@ -657,16 +700,19 @@
 	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
 
 	// UsageContext: List of Usage Contexts for the Container. Valid values
-	// include: web, android, or ios.
+	// include: <code>web,
+	// android, or ios</code>.
+	// @mutable tagmanager.accounts.containers.create
+	// @mutable tagmanager.accounts.containers.update
 	//
 	// Possible values:
-	//   "amp"
-	//   "android"
-	//   "androidSdk5"
-	//   "ios"
-	//   "iosSdk5"
 	//   "usageContextUnspecified"
 	//   "web"
+	//   "android"
+	//   "ios"
+	//   "androidSdk5"
+	//   "iosSdk5"
+	//   "amp"
 	UsageContext []string `json:"usageContext,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -700,17 +746,21 @@
 // permissions.
 type ContainerAccess struct {
 	// ContainerId: GTM Container ID.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	ContainerId string `json:"containerId,omitempty"`
 
 	// Permission: List of Container permissions.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	//
 	// Possible values:
-	//   "approve"
 	//   "containerPermissionUnspecified"
-	//   "edit"
 	//   "noAccess"
-	//   "publish"
 	//   "read"
+	//   "edit"
+	//   "approve"
+	//   "publish"
 	Permission string `json:"permission,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ContainerId") to
@@ -764,11 +814,14 @@
 	Deleted bool `json:"deleted,omitempty"`
 
 	// Description: Container version description.
+	// @mutable tagmanager.accounts.containers.versions.update
 	Description string `json:"description,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Container Version as computed
-	// at storage time. This value is recomputed whenever the container
-	// version is modified.
+	// at
+	// storage time. This value is recomputed whenever the container version
+	// is
+	// modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Folder: The folders in the container that this version was taken
@@ -776,6 +829,7 @@
 	Folder []*Folder `json:"folder,omitempty"`
 
 	// Name: Container version display name.
+	// @mutable tagmanager.accounts.containers.versions.update
 	Name string `json:"name,omitempty"`
 
 	// Path: GTM ContainerVersions's API relative path.
@@ -970,12 +1024,15 @@
 	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
 
 	// NewWorkspacePath: Auto generated workspace path created as a result
-	// of version creation. This field should only be populated if the
-	// created version was not a quick preview.
+	// of version creation. This
+	// field should only be populated if the created version was not a
+	// quick
+	// preview.
 	NewWorkspacePath string `json:"newWorkspacePath,omitempty"`
 
 	// SyncStatus: Whether version creation failed when syncing the
-	// workspace to the latest container version.
+	// workspace to the latest
+	// container version.
 	SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1015,8 +1072,8 @@
 	ContainerId string `json:"containerId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Custom Template as computed
-	// at storage time. This value is recomputed whenever the template is
-	// modified.
+	// at storage time.
+	// This value is recomputed whenever the template is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: Custom Template display name.
@@ -1066,17 +1123,18 @@
 }
 
 // Entity: A workspace entity that may represent a tag, trigger,
-// variable, or folder in addition to its status in the workspace.
+// variable, or folder in
+// addition to its status in the workspace.
 type Entity struct {
 	// ChangeStatus: Represents how the entity has been changed in the
 	// workspace.
 	//
 	// Possible values:
-	//   "added"
 	//   "changeStatusUnspecified"
-	//   "deleted"
-	//   "none"
-	//   "updated"
+	//   "none" - The entity has never been changed.
+	//   "added" - The entity is added to the workspace.
+	//   "deleted" - The entity is deleted from the workspace.
+	//   "updated" - The entity has been updated in the workspace.
 	ChangeStatus string `json:"changeStatus,omitempty"`
 
 	// Folder: The Folder being represented by the entity.
@@ -1115,9 +1173,10 @@
 }
 
 // Environment: Represents a Google Tag Manager Environment. Note that a
-// user can create, delete and update environments of type USER, but can
-// only update the enable_debug and url fields of environments of other
-// types.
+// user can create,
+// delete and update environments of type USER, but can only update
+// the
+// enable_debug and url fields of environments of other types.
 type Environment struct {
 	// AccountId: GTM Account ID.
 	AccountId string `json:"accountId,omitempty"`
@@ -1127,7 +1186,7 @@
 
 	// AuthorizationTimestamp: The last update time-stamp for the
 	// authorization code.
-	AuthorizationTimestamp *Timestamp `json:"authorizationTimestamp,omitempty"`
+	AuthorizationTimestamp string `json:"authorizationTimestamp,omitempty"`
 
 	// ContainerId: GTM Container ID.
 	ContainerId string `json:"containerId,omitempty"`
@@ -1136,11 +1195,16 @@
 	ContainerVersionId string `json:"containerVersionId,omitempty"`
 
 	// Description: The environment description. Can be set or changed only
-	// on USER type environments.
+	// on USER type
+	// environments.
+	// @mutable tagmanager.accounts.containers.environments.create
+	// @mutable tagmanager.accounts.containers.environments.update
 	Description string `json:"description,omitempty"`
 
 	// EnableDebug: Whether or not to enable debug by default for the
 	// environment.
+	// @mutable tagmanager.accounts.containers.environments.create
+	// @mutable tagmanager.accounts.containers.environments.update
 	EnableDebug bool `json:"enableDebug,omitempty"`
 
 	// EnvironmentId: GTM Environment ID uniquely identifies the GTM
@@ -1148,12 +1212,15 @@
 	EnvironmentId string `json:"environmentId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM environment as computed at
-	// storage time. This value is recomputed whenever the environment is
-	// modified.
+	// storage time.
+	// This value is recomputed whenever the environment is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: The environment display name. Can be set or changed only on
-	// USER type environments.
+	// USER type
+	// environments.
+	// @mutable tagmanager.accounts.containers.environments.create
+	// @mutable tagmanager.accounts.containers.environments.update
 	Name string `json:"name,omitempty"`
 
 	// Path: GTM Environment's API relative path.
@@ -1165,13 +1232,17 @@
 	// Type: The type of this environment.
 	//
 	// Possible values:
-	//   "latest"
-	//   "live"
-	//   "user"
-	//   "workspace"
+	//   "user" - Points to a user defined environment.
+	//   "live" - Points to the current live container version.
+	//   "latest" - Points to the latest container version.
+	//   "workspace" - Automatically managed environment that points to a
+	// workspace preview or
+	// version created by a workspace.
 	Type string `json:"type,omitempty"`
 
 	// Url: Default preview page url for the environment.
+	// @mutable tagmanager.accounts.containers.environments.create
+	// @mutable tagmanager.accounts.containers.environments.update
 	Url string `json:"url,omitempty"`
 
 	// WorkspaceId: Represents a link to a quick preview of a workspace.
@@ -1213,16 +1284,24 @@
 	ContainerId string `json:"containerId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Folder as computed at storage
-	// time. This value is recomputed whenever the folder is modified.
+	// time.
+	// This value is recomputed whenever the folder is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// FolderId: The Folder ID uniquely identifies the GTM Folder.
 	FolderId string `json:"folderId,omitempty"`
 
 	// Name: Folder display name.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.folders.create
+	// @mutable tagmanager.accounts.containers.workspaces.folders.update
 	Name string `json:"name,omitempty"`
 
-	// Notes: User notes on how to apply this folder in the container.
+	// Notes: User notes on how to apply this folder in the
+	// container.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.folders.create
+	// @mutable tagmanager.accounts.containers.workspaces.folders.update
 	Notes string `json:"notes,omitempty"`
 
 	// Path: GTM Folder's API relative path.
@@ -1304,7 +1383,8 @@
 }
 
 // GetWorkspaceStatusResponse: The changes that have occurred in the
-// workspace since the base container version.
+// workspace since the base container
+// version.
 type GetWorkspaceStatusResponse struct {
 	// MergeConflict: The merge conflict after sync.
 	MergeConflict []*MergeConflict `json:"mergeConflict,omitempty"`
@@ -1813,14 +1893,17 @@
 // MergeConflict: Represents a merge conflict.
 type MergeConflict struct {
 	// EntityInBaseVersion: The base version entity (since the latest sync
-	// operation) that has conflicting changes compared to the workspace. If
-	// this field is missing, it means the workspace entity is deleted from
-	// the base version.
+	// operation) that has
+	// conflicting changes compared to the workspace. If this field is
+	// missing,
+	// it means the workspace entity is deleted from the base version.
 	EntityInBaseVersion *Entity `json:"entityInBaseVersion,omitempty"`
 
 	// EntityInWorkspace: The workspace entity that has conflicting changes
-	// compared to the base version. If an entity is deleted in a workspace,
-	// it will still appear with a deleted change status.
+	// compared to the
+	// base version. If an entity is deleted in a workspace, it will
+	// still
+	// appear with a deleted change status.
 	EntityInWorkspace *Entity `json:"entityInWorkspace,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EntityInBaseVersion")
@@ -1849,42 +1932,109 @@
 
 // Parameter: Represents a Google Tag Manager Parameter.
 type Parameter struct {
-	// Key: The named key that uniquely identifies a parameter. Required for
-	// top-level parameters, as well as map values. Ignored for list values.
+	// Key: The named key that uniquely identifies a parameter.  Required
+	// for top-level
+	// parameters, as well as map values.  Ignored for list values.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	Key string `json:"key,omitempty"`
 
-	// List: This list parameter's parameters (keys will be ignored).
+	// List: This list parameter's parameters (keys will be
+	// ignored).
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	List []*Parameter `json:"list,omitempty"`
 
 	// Map: This map parameter's parameters (must have keys; keys must be
 	// unique).
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	Map []*Parameter `json:"map,omitempty"`
 
-	// Type: The parameter type. Valid values are:
-	// - boolean: The value represents a boolean, represented as 'true' or
-	// 'false'
-	// - integer: The value represents a 64-bit signed integer value, in
-	// base 10
-	// - list: A list of parameters should be specified
-	// - map: A map of parameters should be specified
-	// - template: The value represents any text; this can include variable
-	// references (even variable references that might return non-string
-	// types)
-	// - trigger_reference: The value represents a trigger, represented as
-	// the trigger id
+	// Type: The parameter type.  Valid values
+	// are:<ul>
+	// <li><code>boolean</code>: The value represents a boolean, represented
+	// as
+	//     'true' or 'false'</li>
+	// <li><code>integer</code>: The value represents a 64-bit signed
+	// integer
+	//     value, in base 10</li>
+	// <li><code>list</code>: A list of parameters should be
+	// specified</li>
+	// <li><code>map</code>: A map of parameters should be
+	// specified</li>
+	// <li><code>template</code>: The value represents any text; this can
+	// include
+	//     variable references (even variable references that might return
+	//     non-string types)</li>
+	// <li><code>trigger_reference</code>: The value represents a trigger,
+	//     represented as the trigger id</li>
+	// </ul>
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	//
 	// Possible values:
-	//   "boolean"
+	//   "typeUnspecified"
+	//   "template" - May include variable references (such as
+	// "{{myVariable}}").
 	//   "integer"
+	//   "boolean"
 	//   "list"
 	//   "map"
-	//   "template"
 	//   "triggerReference"
-	//   "typeUnspecified"
 	Type string `json:"type,omitempty"`
 
-	// Value: A parameter's value (may contain variable references such as
-	// "{{myVariable}}") as appropriate to the specified type.
+	// Value: A parameter's value (may contain variable references such
+	// as
+	// "{{myVariable}}")
+	// as appropriate to the specified type.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.update
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	Value string `json:"value,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Key") to
@@ -1954,7 +2104,8 @@
 	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
 
 	// SyncStatus: Whether quick previewing failed when syncing the
-	// workspace to the latest container version.
+	// workspace to the latest
+	// container version.
 	SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2021,9 +2172,10 @@
 // workspace.
 type RevertFolderResponse struct {
 	// Folder: Folder as it appears in the latest container version since
-	// the last workspace synchronization operation. If no folder is
-	// present, that means the folder was deleted in the latest container
-	// version.
+	// the last
+	// workspace synchronization operation. If no folder is present, that
+	// means
+	// the folder was deleted in the latest container version.
 	Folder *Folder `json:"folder,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2055,8 +2207,10 @@
 
 // RevertTagResponse: The result of reverting a tag in a workspace.
 type RevertTagResponse struct {
-	// Tag: Tag as it appears in the latest container version since the last
-	// workspace synchronization operation. If no tag is present, that means
+	// Tag: Tag as it appears in the latest container version since the
+	// last
+	// workspace synchronization operation. If no tag is present, that
+	// means
 	// the tag was deleted in the latest container version.
 	Tag *Tag `json:"tag,omitempty"`
 
@@ -2091,9 +2245,10 @@
 // workspace.
 type RevertTemplateResponse struct {
 	// Template: Template as it appears in the latest container version
-	// since the last workspace synchronization operation. If no template is
-	// present, that means the template was deleted in the latest container
-	// version.
+	// since the last
+	// workspace synchronization operation. If no template is present, that
+	// means
+	// the template was deleted in the latest container version.
 	Template *CustomTemplate `json:"template,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2127,9 +2282,10 @@
 // workspace.
 type RevertTriggerResponse struct {
 	// Trigger: Trigger as it appears in the latest container version since
-	// the last workspace synchronization operation. If no trigger is
-	// present, that means the trigger was deleted in the latest container
-	// version.
+	// the last
+	// workspace synchronization operation. If no trigger is present, that
+	// means
+	// the trigger was deleted in the latest container version.
 	Trigger *Trigger `json:"trigger,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2163,9 +2319,10 @@
 // workspace.
 type RevertVariableResponse struct {
 	// Variable: Variable as it appears in the latest container version
-	// since the last workspace synchronization operation. If no variable is
-	// present, that means the variable was deleted in the latest container
-	// version.
+	// since the last
+	// workspace synchronization operation. If no variable is present, that
+	// means
+	// the variable was deleted in the latest container version.
 	Variable *Variable `json:"variable,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2198,8 +2355,10 @@
 // RevertZoneResponse: The result of reverting a zone in a workspace.
 type RevertZoneResponse struct {
 	// Zone: Zone as it appears in the latest container version since the
-	// last workspace synchronization operation. If no zone is present, that
-	// means the zone was deleted in the latest container version.
+	// last
+	// workspace synchronization operation. If no zone is present, that
+	// means
+	// the zone was deleted in the latest container version.
 	Zone *Zone `json:"zone,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2230,11 +2389,13 @@
 }
 
 // SetupTag: Represents a reference to atag that fires before another
-// tag in order to set up dependencies.
+// tag in order to
+// set up dependencies.
 type SetupTag struct {
 	// StopOnSetupFailure: If true, fire the main tag if and only if the
-	// setup tag fires successfully. If false, fire the main tag regardless
-	// of setup tag firing status.
+	// setup tag fires
+	// successfully.
+	// If false, fire the main tag regardless of setup tag firing status.
 	StopOnSetupFailure bool `json:"stopOnSetupFailure,omitempty"`
 
 	// TagName: The name of the setup tag.
@@ -2298,9 +2459,10 @@
 // SyncWorkspaceResponse: A response after synchronizing the workspace
 // to the latest container version.
 type SyncWorkspaceResponse struct {
-	// MergeConflict: The merge conflict after sync. If this field is not
-	// empty, the sync is still treated as successful. But a version cannot
-	// be created until all conflicts are resolved.
+	// MergeConflict: The merge conflict after sync.
+	// If this field is not empty, the sync is still treated as
+	// successful.
+	// But a version cannot be created until all conflicts are resolved.
 	MergeConflict []*MergeConflict `json:"mergeConflict,omitempty"`
 
 	// SyncStatus: Indicates whether synchronization caused a merge conflict
@@ -2340,41 +2502,72 @@
 	AccountId string `json:"accountId,omitempty"`
 
 	// BlockingRuleId: Blocking rule IDs. If any of the listed rules
-	// evaluate to true, the tag will not fire.
+	// evaluate to true, the tag
+	//     will not fire.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	BlockingRuleId []string `json:"blockingRuleId,omitempty"`
 
 	// BlockingTriggerId: Blocking trigger IDs. If any of the listed
-	// triggers evaluate to true, the tag will not fire.
+	// triggers evaluate to true, the
+	// tag will not fire.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	BlockingTriggerId []string `json:"blockingTriggerId,omitempty"`
 
 	// ContainerId: GTM Container ID.
 	ContainerId string `json:"containerId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Tag as computed at storage
-	// time. This value is recomputed whenever the tag is modified.
+	// time.
+	// This value is recomputed whenever the tag is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// 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
+	// rules are true and
+	//     all of its <code>blockingRuleIds</code> (if any specified) are
 	// false.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	FiringRuleId []string `json:"firingRuleId,omitempty"`
 
 	// 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.
+	// listed triggers are
+	// true and all of its <code>blockingTriggerIds</code> (if any
+	// specified) are
+	// false.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	FiringTriggerId []string `json:"firingTriggerId,omitempty"`
 
 	// LiveOnly: If set to true, this tag will only fire in the live
-	// environment (e.g. not in preview or debug mode).
+	// environment (e.g. not
+	// in preview or debug mode).
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	LiveOnly bool `json:"liveOnly,omitempty"`
 
 	// Name: Tag display name.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	Name string `json:"name,omitempty"`
 
 	// Notes: User notes on how to apply this tag in the container.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	Notes string `json:"notes,omitempty"`
 
 	// Parameter: The tag's parameters.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	Parameter []*Parameter `json:"parameter,omitempty"`
 
 	// ParentFolderId: Parent folder id.
@@ -2385,19 +2578,34 @@
 
 	// Paused: Indicates whether the tag is paused, which prevents the tag
 	// from firing.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	Paused bool `json:"paused,omitempty"`
 
 	// Priority: 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.
+	// 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.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	Priority *Parameter `json:"priority,omitempty"`
 
-	// ScheduleEndMs: The end timestamp in milliseconds to schedule a tag.
+	// ScheduleEndMs: The end timestamp in milliseconds to schedule a
+	// tag.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
 
 	// ScheduleStartMs: The start timestamp in milliseconds to schedule a
 	// tag.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
 
 	// SetupTag: The list of setup tags. Currently we only allow one.
@@ -2406,10 +2614,13 @@
 	// TagFiringOption: Option to fire this tag.
 	//
 	// Possible values:
-	//   "oncePerEvent"
-	//   "oncePerLoad"
 	//   "tagFiringOptionUnspecified"
-	//   "unlimited"
+	//   "unlimited" - Tag can be fired multiple times per event.
+	//   "oncePerEvent" - Tag can only be fired per event but can be fired
+	// multiple times per load
+	// (e.g., app load or page load).
+	//   "oncePerLoad" - Tag can only be fired per load (e.g., app load or
+	// page load).
 	TagFiringOption string `json:"tagFiringOption,omitempty"`
 
 	// TagId: The Tag ID uniquely identifies the GTM Tag.
@@ -2422,6 +2633,9 @@
 	TeardownTag []*TeardownTag `json:"teardownTag,omitempty"`
 
 	// Type: GTM Tag Type.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.tags.create
+	// @mutable tagmanager.accounts.containers.workspaces.tags.update
 	Type string `json:"type,omitempty"`
 
 	// WorkspaceId: GTM Workspace ID.
@@ -2455,11 +2669,13 @@
 }
 
 // TeardownTag: Represents a tag that fires after another tag in order
-// to tear down dependencies.
+// to tear down
+// dependencies.
 type TeardownTag struct {
 	// StopTeardownOnFailure: If true, fire the teardown tag if and only if
-	// the main tag fires successfully. If false, fire the teardown tag
-	// regardless of main tag firing status.
+	// the main tag fires
+	// successfully.
+	// If false, fire the teardown tag regardless of main tag firing status.
 	StopTeardownOnFailure bool `json:"stopTeardownOnFailure,omitempty"`
 
 	// TagName: The name of the teardown tag.
@@ -2490,194 +2706,127 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Timestamp: A Timestamp represents a point in time independent of any
-// time zone or local calendar, encoded as a count of seconds and
-// fractions of seconds at nanosecond resolution. The count is relative
-// to an epoch at UTC midnight on January 1, 1970, in the proleptic
-// Gregorian calendar which extends the Gregorian calendar backwards to
-// year one.
-//
-// All minutes are 60 seconds long. Leap seconds are "smeared" so that
-// no leap second table is needed for interpretation, using a [24-hour
-// linear smear](https://developers.google.com/time/smear).
-//
-// The range is from 0001-01-01T00:00:00Z to
-// 9999-12-31T23:59:59.999999999Z. By restricting to that range, we
-// ensure that we can convert to and from [RFC
-// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
-//
-// # Examples
-//
-// Example 1: Compute Timestamp from POSIX `time()`.
-//
-// Timestamp timestamp; timestamp.set_seconds(time(NULL));
-// timestamp.set_nanos(0);
-//
-// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
-//
-// struct timeval tv; gettimeofday(&tv, NULL);
-//
-// Timestamp timestamp; timestamp.set_seconds(tv.tv_sec);
-// timestamp.set_nanos(tv.tv_usec * 1000);
-//
-// Example 3: Compute Timestamp from Win32
-// `GetSystemTimeAsFileTime()`.
-//
-// FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks =
-// (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
-//
-// // A Windows tick is 100 nanoseconds. Windows epoch
-// 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch
-// 1970-01-01T00:00:00Z. Timestamp timestamp;
-// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
-// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
-//
-// Example 4: Compute Timestamp from Java
-// `System.currentTimeMillis()`.
-//
-// long millis = System.currentTimeMillis();
-//
-// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis /
-// 1000) .setNanos((int) ((millis % 1000) *
-// 1000000)).build();
-//
-//
-//
-// Example 5: Compute Timestamp from current time in Python.
-//
-// timestamp = Timestamp() timestamp.GetCurrentTime()
-//
-// # JSON Mapping
-//
-// In JSON format, the Timestamp type is encoded as a string in the [RFC
-// 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
-// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
-// where {year} is always expressed using four digits while {month},
-// {day}, {hour}, {min}, and {sec} are zero-padded to two digits each.
-// The fractional seconds, which can go up to 9 digits (i.e. up to 1
-// nanosecond resolution), are optional. The "Z" suffix indicates the
-// timezone ("UTC"); the timezone is required. A proto3 JSON serializer
-// should always use UTC (as indicated by "Z") when printing the
-// Timestamp type and a proto3 JSON parser should be able to accept both
-// UTC and other timezones (as indicated by an offset).
-//
-// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
-// 01:30 UTC on January 15, 2017.
-//
-// In JavaScript, one can convert a Date object to this format using the
-// standard
-// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
-// t/Reference/Global_Objects/Date/toISOString) method. In Python, a
-// standard `datetime.datetime` object can be converted to this format
-// using
-// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime
-// ) with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in
-// Java, one can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
-// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D ) to obtain a formatter capable of generating timestamps in this
-// format.
-type Timestamp struct {
-	// Nanos: Non-negative fractions of a second at nanosecond resolution.
-	// Negative second values with fractions must still have non-negative
-	// nanos values that count forward in time. Must be from 0 to
-	// 999,999,999 inclusive.
-	Nanos int64 `json:"nanos,omitempty"`
-
-	// Seconds: Represents seconds of UTC time since Unix epoch
-	// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
-	// 9999-12-31T23:59:59Z inclusive.
-	Seconds int64 `json:"seconds,omitempty,string"`
-
-	// ForceSendFields is a list of field names (e.g. "Nanos") to
-	// unconditionally include in API requests. By default, fields with
-	// empty values are omitted from API requests. However, any non-pointer,
-	// non-interface field appearing in ForceSendFields will be sent to the
-	// server regardless of whether the field is empty or not. This may be
-	// used to include empty fields in Patch requests.
-	ForceSendFields []string `json:"-"`
-
-	// NullFields is a list of field names (e.g. "Nanos") to include in API
-	// requests with the JSON null value. By default, fields with empty
-	// values are omitted from API requests. However, any field with an
-	// empty value appearing in NullFields will be sent to the server as
-	// null. It is an error if a field in this list has a non-empty value.
-	// This may be used to include null fields in Patch requests.
-	NullFields []string `json:"-"`
-}
-
-func (s *Timestamp) MarshalJSON() ([]byte, error) {
-	type NoMethod Timestamp
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
 // Trigger: Represents a Google Tag Manager Trigger
 type Trigger struct {
 	// AccountId: GTM Account ID.
 	AccountId string `json:"accountId,omitempty"`
 
 	// AutoEventFilter: Used in the case of auto event tracking.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	AutoEventFilter []*Condition `json:"autoEventFilter,omitempty"`
 
 	// CheckValidation: 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.
+	// 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.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	CheckValidation *Parameter `json:"checkValidation,omitempty"`
 
 	// ContainerId: GTM Container ID.
 	ContainerId string `json:"containerId,omitempty"`
 
 	// ContinuousTimeMinMilliseconds: A visibility trigger minimum
-	// continuous visible time (in milliseconds). Only valid for AMP
-	// Visibility trigger.
+	// continuous visible time (in milliseconds).
+	// Only valid for AMP Visibility trigger.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	ContinuousTimeMinMilliseconds *Parameter `json:"continuousTimeMinMilliseconds,omitempty"`
 
 	// CustomEventFilter: Used in the case of custom event, which is fired
-	// iff all Conditions are true.
+	// iff all Conditions are
+	// true.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	CustomEventFilter []*Condition `json:"customEventFilter,omitempty"`
 
 	// EventName: Name of the GTM event that is fired. Only valid for Timer
 	// triggers.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	EventName *Parameter `json:"eventName,omitempty"`
 
-	// Filter: The trigger will only fire iff all Conditions are true.
+	// Filter: The trigger will only fire iff all Conditions are
+	// true.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	Filter []*Condition `json:"filter,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Trigger as computed at
-	// storage time. This value is recomputed whenever the trigger is
-	// modified.
+	// storage time.
+	// This value is recomputed whenever the trigger is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// HorizontalScrollPercentageList: List of integer percentage values for
-	// scroll triggers. The trigger will fire when each percentage is
-	// reached when the view is scrolled horizontally. Only valid for AMP
-	// scroll triggers.
+	// scroll triggers. The trigger will
+	// fire when each percentage is reached when the view is
+	// scrolled
+	// horizontally. Only valid for AMP scroll triggers.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	HorizontalScrollPercentageList *Parameter `json:"horizontalScrollPercentageList,omitempty"`
 
 	// Interval: Time between triggering recurring Timer Events (in
-	// milliseconds). Only valid for Timer triggers.
+	// milliseconds). Only
+	// valid for Timer triggers.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	Interval *Parameter `json:"interval,omitempty"`
 
 	// IntervalSeconds: Time between Timer Events to fire (in seconds). Only
-	// valid for AMP Timer trigger.
+	// valid for AMP Timer
+	// trigger.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	IntervalSeconds *Parameter `json:"intervalSeconds,omitempty"`
 
 	// Limit: 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.
+	// fire. If no limit
+	// is set, we will continue to fire GTM events until the user leaves the
+	// page.
+	// Only valid for Timer triggers.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	Limit *Parameter `json:"limit,omitempty"`
 
 	// MaxTimerLengthSeconds: Max time to fire Timer Events (in seconds).
-	// Only valid for AMP Timer trigger.
+	// Only valid for AMP Timer
+	// trigger.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	MaxTimerLengthSeconds *Parameter `json:"maxTimerLengthSeconds,omitempty"`
 
 	// Name: Trigger display name.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	Name string `json:"name,omitempty"`
 
-	// Notes: User notes on how to apply this trigger in the container.
+	// Notes: User notes on how to apply this trigger in the
+	// container.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	Notes string `json:"notes,omitempty"`
 
 	// Parameter: Additional parameters.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	Parameter []*Parameter `json:"parameter,omitempty"`
 
 	// ParentFolderId: Parent folder id.
@@ -2687,32 +2836,40 @@
 	Path string `json:"path,omitempty"`
 
 	// Selector: A click trigger CSS selector (i.e. "a", "button" etc.).
-	// Only valid for AMP Click trigger.
+	// Only valid for AMP
+	// Click trigger.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	Selector *Parameter `json:"selector,omitempty"`
 
 	// TagManagerUrl: Auto generated link to the tag manager UI
 	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
 
 	// TotalTimeMinMilliseconds: A visibility trigger minimum total visible
-	// time (in milliseconds). Only valid for AMP Visibility trigger.
+	// time (in milliseconds).
+	// Only valid for AMP Visibility trigger.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	TotalTimeMinMilliseconds *Parameter `json:"totalTimeMinMilliseconds,omitempty"`
 
 	// TriggerId: The Trigger ID uniquely identifies the GTM Trigger.
 	TriggerId string `json:"triggerId,omitempty"`
 
 	// Type: Defines the data layer event that causes this trigger.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	//
 	// Possible values:
-	//   "always"
-	//   "ampClick"
-	//   "ampScroll"
-	//   "ampTimer"
-	//   "ampVisibility"
-	//   "click"
-	//   "customEvent"
-	//   "domReady"
-	//   "elementVisibility"
 	//   "eventTypeUnspecified"
+	//   "pageview"
+	//   "domReady"
+	//   "windowLoaded"
+	//   "customEvent"
+	//   "triggerGroup"
+	//   "always"
 	//   "firebaseAppException"
 	//   "firebaseAppUpdate"
 	//   "firebaseCampaign"
@@ -2726,52 +2883,88 @@
 	//   "firebaseSessionStart"
 	//   "firebaseUserEngagement"
 	//   "formSubmission"
-	//   "historyChange"
-	//   "jsError"
+	//   "click"
 	//   "linkClick"
-	//   "pageview"
-	//   "scrollDepth"
+	//   "jsError"
+	//   "historyChange"
 	//   "timer"
-	//   "triggerGroup"
-	//   "windowLoaded"
+	//   "ampClick"
+	//   "ampTimer"
+	//   "ampScroll"
+	//   "ampVisibility"
 	//   "youTubeVideo"
+	//   "scrollDepth"
+	//   "elementVisibility"
 	Type string `json:"type,omitempty"`
 
 	// UniqueTriggerId: Globally unique id of the trigger that
-	// auto-generates this (a Form Submit, Link Click or Timer listener) 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 Submit, Link Click and Timer triggers.
+	// auto-generates this (a Form Submit,
+	// Link Click or Timer listener) 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 Submit, Link Click and
+	// Timer
+	// triggers.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	UniqueTriggerId *Parameter `json:"uniqueTriggerId,omitempty"`
 
 	// VerticalScrollPercentageList: List of integer percentage values for
-	// scroll triggers. The trigger will fire when each percentage is
-	// reached when the view is scrolled vertically. Only valid for AMP
-	// scroll triggers.
+	// scroll triggers. The trigger will
+	// fire when each percentage is reached when the view is scrolled
+	// vertically.
+	// Only valid for AMP scroll triggers.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	VerticalScrollPercentageList *Parameter `json:"verticalScrollPercentageList,omitempty"`
 
 	// VisibilitySelector: A visibility trigger CSS selector (i.e. "#id").
-	// Only valid for AMP Visibility trigger.
+	// Only valid for AMP
+	// Visibility trigger.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	VisibilitySelector *Parameter `json:"visibilitySelector,omitempty"`
 
 	// VisiblePercentageMax: A visibility trigger maximum percent
-	// visibility. Only valid for AMP Visibility trigger.
+	// visibility. Only valid for AMP
+	// Visibility trigger.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	VisiblePercentageMax *Parameter `json:"visiblePercentageMax,omitempty"`
 
 	// VisiblePercentageMin: A visibility trigger minimum percent
-	// visibility. Only valid for AMP Visibility trigger.
+	// visibility. Only valid for AMP
+	// Visibility trigger.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	VisiblePercentageMin *Parameter `json:"visiblePercentageMin,omitempty"`
 
 	// WaitForTags: 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.
+	// 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.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	WaitForTags *Parameter `json:"waitForTags,omitempty"`
 
 	// WaitForTagsTimeout: 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.
+	// fire when 'waits_for_tags'
+	// above evaluates to <code>true</code>.  Only valid for Form Submission
+	// and
+	// Link Click triggers.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.triggers.create
+	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
 	WaitForTagsTimeout *Parameter `json:"waitForTagsTimeout,omitempty"`
 
 	// WorkspaceId: GTM Workspace ID.
@@ -2808,15 +3001,20 @@
 // container.
 type UserPermission struct {
 	// AccountAccess: GTM Account access permissions.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	AccountAccess *AccountAccess `json:"accountAccess,omitempty"`
 
 	// AccountId: The Account ID uniquely identifies the GTM Account.
 	AccountId string `json:"accountId,omitempty"`
 
 	// ContainerAccess: GTM Container access permissions.
+	// @mutable tagmanager.accounts.permissions.create
+	// @mutable tagmanager.accounts.permissions.update
 	ContainerAccess []*ContainerAccess `json:"containerAccess,omitempty"`
 
 	// EmailAddress: User's email address.
+	// @mutable tagmanager.accounts.permissions.create
 	EmailAddress string `json:"emailAddress,omitempty"`
 
 	// Path: GTM UserPermission's API relative path.
@@ -2858,32 +3056,52 @@
 	ContainerId string `json:"containerId,omitempty"`
 
 	// 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.
+	// 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.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable tagmanager.accounts.containers.workspaces.variables.update
 	DisablingTriggerId []string `json:"disablingTriggerId,omitempty"`
 
 	// 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.
+	// 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.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable tagmanager.accounts.containers.workspaces.variables.update
 	EnablingTriggerId []string `json:"enablingTriggerId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Variable as computed at
-	// storage time. This value is recomputed whenever the variable is
-	// modified.
+	// storage time.
+	// This value is recomputed whenever the variable is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// FormatValue: Option to convert a variable value to other value.
 	FormatValue *VariableFormatValue `json:"formatValue,omitempty"`
 
 	// Name: Variable display name.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable tagmanager.accounts.containers.workspaces.variables.update
 	Name string `json:"name,omitempty"`
 
-	// Notes: User notes on how to apply this variable in the container.
+	// Notes: User notes on how to apply this variable in the
+	// container.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable tagmanager.accounts.containers.workspaces.variables.update
 	Notes string `json:"notes,omitempty"`
 
 	// Parameter: The variable's parameters.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable tagmanager.accounts.containers.workspaces.variables.update
 	Parameter []*Parameter `json:"parameter,omitempty"`
 
 	// ParentFolderId: Parent folder id.
@@ -2894,16 +3112,25 @@
 
 	// ScheduleEndMs: The end timestamp in milliseconds to schedule a
 	// variable.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable tagmanager.accounts.containers.workspaces.variables.update
 	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
 
 	// ScheduleStartMs: The start timestamp in milliseconds to schedule a
 	// variable.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable tagmanager.accounts.containers.workspaces.variables.update
 	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
 
 	// TagManagerUrl: Auto generated link to the tag manager UI
 	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
 
 	// Type: GTM Variable Type.
+	// @mutable
+	// tagmanager.accounts.containers.workspaces.variables.create
+	// @mutable tagmanager.accounts.containers.workspaces.variables.update
 	Type string `json:"type,omitempty"`
 
 	// VariableId: The Variable ID uniquely identifies the GTM Variable.
@@ -2941,12 +3168,13 @@
 
 type VariableFormatValue struct {
 	// CaseConversionType: The option to convert a string-type variable
-	// value to either lowercase or uppercase.
+	// value to either lowercase or
+	// uppercase.
 	//
 	// Possible values:
-	//   "lowercase"
 	//   "none"
-	//   "uppercase"
+	//   "lowercase" - The option to convert a variable value to lowercase.
+	//   "uppercase" - The option to convert a variable value to uppercase.
 	CaseConversionType string `json:"caseConversionType,omitempty"`
 
 	// ConvertFalseToValue: The value to convert if a variable value is
@@ -2996,14 +3224,18 @@
 	ContainerId string `json:"containerId,omitempty"`
 
 	// Description: Workspace description.
+	// @mutable tagmanager.accounts.containers.workspaces.create
+	// @mutable tagmanager.accounts.containers.workspaces.update
 	Description string `json:"description,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Workspace as computed at
-	// storage time. This value is recomputed whenever the workspace is
-	// modified.
+	// storage time. This
+	// value is recomputed whenever the workspace is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: Workspace display name.
+	// @mutable tagmanager.accounts.containers.workspaces.create
+	// @mutable tagmanager.accounts.containers.workspaces.update
 	Name string `json:"name,omitempty"`
 
 	// Path: GTM Workspace's API relative path.
@@ -3057,7 +3289,8 @@
 	ContainerId string `json:"containerId,omitempty"`
 
 	// Fingerprint: The fingerprint of the GTM Zone as computed at storage
-	// time. This value is recomputed whenever the zone is modified.
+	// time.
+	// This value is recomputed whenever the zone is modified.
 	Fingerprint string `json:"fingerprint,omitempty"`
 
 	// Name: Zone display name.
@@ -3114,8 +3347,8 @@
 	Condition []*Condition `json:"condition,omitempty"`
 
 	// CustomEvaluationTriggerId: Custom evaluation trigger IDs. A zone will
-	// evaluate its boundary conditions when any of the listed triggers are
-	// true.
+	// evaluate its boundary
+	// conditions when any of the listed triggers are true.
 	CustomEvaluationTriggerId []string `json:"customEvaluationTriggerId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -3269,7 +3502,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -3321,6 +3554,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Account.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.get",
 	//   "parameterOrder": [
@@ -3328,13 +3562,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Accounts's API relative path. Example: accounts/{account_id}",
+	//       "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "Account"
 	//   },
@@ -3417,7 +3652,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/accounts")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -3466,8 +3701,10 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Accounts that a user has access to.",
+	//   "flatPath": "tagmanager/v2/accounts",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.list",
+	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "pageToken": {
 	//       "description": "Continuation token for fetching the next page of results.",
@@ -3475,7 +3712,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "accounts",
+	//   "path": "tagmanager/v2/accounts",
 	//   "response": {
 	//     "$ref": "ListAccountsResponse"
 	//   },
@@ -3529,8 +3766,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the account in
-// storage.
+// this fingerprint must match the fingerprint of the account
+// in storage.
 func (c *AccountsUpdateCall) Fingerprint(fingerprint string) *AccountsUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -3575,7 +3812,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -3627,6 +3864,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Account.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.update",
 	//   "parameterOrder": [
@@ -3634,18 +3872,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the account in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the account\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Accounts's API relative path. Example: accounts/{account_id}",
+	//       "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "Account"
 	//   },
@@ -3717,7 +3956,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/containers")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/containers")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -3769,6 +4008,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.create",
 	//   "parameterOrder": [
@@ -3776,13 +4016,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Account's API relative path. Example: accounts/{account_id}.",
+	//       "description": "GTM Account's API relative path.\nExample: accounts/{account_id}.",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/containers",
+	//   "path": "tagmanager/v2/{+parent}/containers",
 	//   "request": {
 	//     "$ref": "Container"
 	//   },
@@ -3847,7 +4088,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -3874,6 +4115,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.delete",
 	//   "parameterOrder": [
@@ -3881,13 +4123,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.delete.containers"
 	//   ]
@@ -3960,7 +4203,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -4012,6 +4255,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.get",
 	//   "parameterOrder": [
@@ -4019,13 +4263,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "Container"
 	//   },
@@ -4109,7 +4354,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/containers")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/containers")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -4161,6 +4406,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all Containers that belongs to a GTM Account.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.list",
 	//   "parameterOrder": [
@@ -4173,13 +4419,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Accounts's API relative path. Example: accounts/{account_id}.",
+	//       "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}.",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/containers",
+	//   "path": "tagmanager/v2/{+parent}/containers",
 	//   "response": {
 	//     "$ref": "ListContainersResponse"
 	//   },
@@ -4232,8 +4479,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the container in
-// storage.
+// this fingerprint must match the fingerprint of the
+// container in storage.
 func (c *AccountsContainersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -4278,7 +4525,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -4330,6 +4577,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.update",
 	//   "parameterOrder": [
@@ -4337,18 +4585,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the container in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer in storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "Container"
 	//   },
@@ -4420,7 +4669,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/environments")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/environments")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -4472,6 +4721,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Environment.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.environments.create",
 	//   "parameterOrder": [
@@ -4479,13 +4729,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/environments",
+	//   "path": "tagmanager/v2/{+parent}/environments",
 	//   "request": {
 	//     "$ref": "Environment"
 	//   },
@@ -4550,7 +4801,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -4577,6 +4828,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Environment.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.environments.delete",
 	//   "parameterOrder": [
@@ -4584,13 +4836,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}",
+	//       "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -4663,7 +4916,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -4715,6 +4968,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Environment.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.environments.get",
 	//   "parameterOrder": [
@@ -4722,13 +4976,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}",
+	//       "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "Environment"
 	//   },
@@ -4812,7 +5067,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/environments")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/environments")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -4864,6 +5119,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Environments of a GTM Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.environments.list",
 	//   "parameterOrder": [
@@ -4876,13 +5132,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/environments",
+	//   "path": "tagmanager/v2/{+parent}/environments",
 	//   "response": {
 	//     "$ref": "ListEnvironmentsResponse"
 	//   },
@@ -4974,7 +5231,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:reauthorize")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:reauthorize")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -5026,6 +5283,7 @@
 	return ret, nil
 	// {
 	//   "description": "Re-generates the authorization code for a GTM Environment.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}:reauthorize",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.environments.reauthorize",
 	//   "parameterOrder": [
@@ -5033,13 +5291,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}",
+	//       "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:reauthorize",
+	//   "path": "tagmanager/v2/{+path}:reauthorize",
 	//   "request": {
 	//     "$ref": "Environment"
 	//   },
@@ -5073,8 +5332,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the environment in
-// storage.
+// this fingerprint must match the fingerprint of the
+// environment in storage.
 func (c *AccountsContainersEnvironmentsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersEnvironmentsUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -5119,7 +5378,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -5171,6 +5430,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Environment.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.environments.update",
 	//   "parameterOrder": [
@@ -5178,18 +5438,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the environment in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\nenvironment in storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id}",
+	//       "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "Environment"
 	//   },
@@ -5268,7 +5529,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/version_headers:latest")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/version_headers:latest")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -5320,6 +5581,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets the latest container version header",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/version_headers:latest",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.version_headers.latest",
 	//   "parameterOrder": [
@@ -5327,13 +5589,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/version_headers:latest",
+	//   "path": "tagmanager/v2/{+parent}/version_headers:latest",
 	//   "response": {
 	//     "$ref": "ContainerVersionHeader"
 	//   },
@@ -5424,7 +5687,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/version_headers")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/version_headers")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -5476,6 +5739,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all Container Versions of a GTM Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/version_headers",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.version_headers.list",
 	//   "parameterOrder": [
@@ -5493,13 +5757,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/version_headers",
+	//   "path": "tagmanager/v2/{+parent}/version_headers",
 	//   "response": {
 	//     "$ref": "ListContainerVersionsResponse"
 	//   },
@@ -5584,7 +5849,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -5611,6 +5876,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a Container Version.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.versions.delete",
 	//   "parameterOrder": [
@@ -5618,13 +5884,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
 	//   ]
@@ -5651,8 +5918,9 @@
 }
 
 // ContainerVersionId sets the optional parameter "containerVersionId":
-// The GTM ContainerVersion ID. Specify published to retrieve the
-// currently published version.
+// The GTM ContainerVersion ID. Specify <code>published</code> to
+// retrieve
+// the currently published version.
 func (c *AccountsContainersVersionsGetCall) ContainerVersionId(containerVersionId string) *AccountsContainersVersionsGetCall {
 	c.urlParams_.Set("containerVersionId", containerVersionId)
 	return c
@@ -5705,7 +5973,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -5757,6 +6025,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a Container Version.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.versions.get",
 	//   "parameterOrder": [
@@ -5764,18 +6033,19 @@
 	//   ],
 	//   "parameters": {
 	//     "containerVersionId": {
-	//       "description": "The GTM ContainerVersion ID. Specify published to retrieve the currently published version.",
+	//       "description": "The GTM ContainerVersion ID. Specify \u003ccode\u003epublished\u003c/code\u003e to retrieve\nthe currently published version.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "ContainerVersion"
 	//   },
@@ -5853,7 +6123,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/versions:live")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/versions:live")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -5905,6 +6175,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets the live (i.e. published) container version",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions:live",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.versions.live",
 	//   "parameterOrder": [
@@ -5912,13 +6183,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/versions:live",
+	//   "path": "tagmanager/v2/{+parent}/versions:live",
 	//   "response": {
 	//     "$ref": "ContainerVersion"
 	//   },
@@ -5948,8 +6220,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the container version
-// in storage.
+// this fingerprint must match the fingerprint of the
+// container version in storage.
 func (c *AccountsContainersVersionsPublishCall) Fingerprint(fingerprint string) *AccountsContainersVersionsPublishCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -5989,7 +6261,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:publish")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:publish")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -6041,6 +6313,7 @@
 	return ret, nil
 	// {
 	//   "description": "Publishes a Container Version.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:publish",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.versions.publish",
 	//   "parameterOrder": [
@@ -6048,18 +6321,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the container version in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:publish",
+	//   "path": "tagmanager/v2/{+path}:publish",
 	//   "response": {
 	//     "$ref": "PublishContainerVersionResponse"
 	//   },
@@ -6081,7 +6355,8 @@
 }
 
 // SetLatest: Sets the latest version used for synchronization of
-// workspaces when detecting conflicts and errors.
+// workspaces when
+// detecting conflicts and errors.
 func (r *AccountsContainersVersionsService) SetLatest(path string) *AccountsContainersVersionsSetLatestCall {
 	c := &AccountsContainersVersionsSetLatestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.path = path
@@ -6122,7 +6397,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:set_latest")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:set_latest")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -6173,7 +6448,8 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the latest version used for synchronization of workspaces when detecting conflicts and errors.",
+	//   "description": "Sets the latest version used for synchronization of workspaces when\ndetecting conflicts and errors.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:set_latest",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.versions.set_latest",
 	//   "parameterOrder": [
@@ -6181,13 +6457,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:set_latest",
+	//   "path": "tagmanager/v2/{+path}:set_latest",
 	//   "response": {
 	//     "$ref": "ContainerVersion"
 	//   },
@@ -6249,7 +6526,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:undelete")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:undelete")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -6301,6 +6578,7 @@
 	return ret, nil
 	// {
 	//   "description": "Undeletes a Container Version.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:undelete",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.versions.undelete",
 	//   "parameterOrder": [
@@ -6308,13 +6586,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:undelete",
+	//   "path": "tagmanager/v2/{+path}:undelete",
 	//   "response": {
 	//     "$ref": "ContainerVersion"
 	//   },
@@ -6345,8 +6624,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the container version
-// in storage.
+// this fingerprint must match the fingerprint of the
+// container version in storage.
 func (c *AccountsContainersVersionsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersVersionsUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -6391,7 +6670,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -6443,6 +6722,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a Container Version.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.versions.update",
 	//   "parameterOrder": [
@@ -6450,18 +6730,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the container version in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id}",
+	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "ContainerVersion"
 	//   },
@@ -6533,7 +6814,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/workspaces")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/workspaces")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -6585,6 +6866,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.create",
 	//   "parameterOrder": [
@@ -6592,13 +6874,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM parent Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/workspaces",
+	//   "path": "tagmanager/v2/{+parent}/workspaces",
 	//   "request": {
 	//     "$ref": "Workspace"
 	//   },
@@ -6624,8 +6907,10 @@
 }
 
 // CreateVersion: Creates a Container Version from the entities present
-// in the workspace, deletes the workspace, and sets the base container
-// version to the newly created version.
+// in the workspace,
+// deletes the workspace, and sets the base container version to the
+// newly
+// created version.
 func (r *AccountsContainersWorkspacesService) CreateVersion(path string, createcontainerversionrequestversionoptions *CreateContainerVersionRequestVersionOptions) *AccountsContainersWorkspacesCreateVersionCall {
 	c := &AccountsContainersWorkspacesCreateVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.path = path
@@ -6672,7 +6957,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:create_version")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:create_version")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -6723,7 +7008,8 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a Container Version from the entities present in the workspace, deletes the workspace, and sets the base container version to the newly created version.",
+	//   "description": "Creates a Container Version from the entities present in the workspace,\ndeletes the workspace, and sets the base container version to the newly\ncreated version.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:create_version",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.create_version",
 	//   "parameterOrder": [
@@ -6731,13 +7017,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:create_version",
+	//   "path": "tagmanager/v2/{+path}:create_version",
 	//   "request": {
 	//     "$ref": "CreateContainerVersionRequestVersionOptions"
 	//   },
@@ -6802,7 +7089,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -6829,6 +7116,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.workspaces.delete",
 	//   "parameterOrder": [
@@ -6836,13 +7124,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.delete.containers"
 	//   ]
@@ -6915,7 +7204,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -6967,6 +7256,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.get",
 	//   "parameterOrder": [
@@ -6974,13 +7264,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "Workspace"
 	//   },
@@ -7057,7 +7348,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}/status")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}/status")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -7109,6 +7400,7 @@
 	return ret, nil
 	// {
 	//   "description": "Finds conflicting and modified entities in the workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/status",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.getStatus",
 	//   "parameterOrder": [
@@ -7116,13 +7408,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}/status",
+	//   "path": "tagmanager/v2/{+path}/status",
 	//   "response": {
 	//     "$ref": "GetWorkspaceStatusResponse"
 	//   },
@@ -7206,7 +7499,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/workspaces")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/workspaces")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -7258,6 +7551,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all Workspaces that belong to a GTM Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.list",
 	//   "parameterOrder": [
@@ -7270,13 +7564,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id}",
+	//       "description": "GTM parent Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/workspaces",
+	//   "path": "tagmanager/v2/{+parent}/workspaces",
 	//   "response": {
 	//     "$ref": "ListWorkspacesResponse"
 	//   },
@@ -7320,7 +7615,8 @@
 }
 
 // QuickPreview: Quick previews a workspace by creating a fake container
-// version from all entities in the provided workspace.
+// version from all
+// entities in the provided workspace.
 func (r *AccountsContainersWorkspacesService) QuickPreview(path string) *AccountsContainersWorkspacesQuickPreviewCall {
 	c := &AccountsContainersWorkspacesQuickPreviewCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.path = path
@@ -7361,7 +7657,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:quick_preview")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:quick_preview")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -7412,7 +7708,8 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Quick previews a workspace by creating a fake container version from all entities in the provided workspace.",
+	//   "description": "Quick previews a workspace by creating a fake container version from all\nentities in the provided workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:quick_preview",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.quick_preview",
 	//   "parameterOrder": [
@@ -7420,13 +7717,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:quick_preview",
+	//   "path": "tagmanager/v2/{+path}:quick_preview",
 	//   "response": {
 	//     "$ref": "QuickPreviewResponse"
 	//   },
@@ -7449,7 +7747,8 @@
 }
 
 // ResolveConflict: Resolves a merge conflict for a workspace entity by
-// updating it to the resolved entity passed in the request.
+// updating it to the
+// resolved entity passed in the request.
 func (r *AccountsContainersWorkspacesService) ResolveConflict(path string, entity *Entity) *AccountsContainersWorkspacesResolveConflictCall {
 	c := &AccountsContainersWorkspacesResolveConflictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.path = path
@@ -7458,7 +7757,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the
+// this fingerprint must match the fingerprint of
+// the
 // entity_in_workspace in the merge conflict.
 func (c *AccountsContainersWorkspacesResolveConflictCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesResolveConflictCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
@@ -7504,7 +7804,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:resolve_conflict")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:resolve_conflict")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -7530,7 +7830,8 @@
 	}
 	return nil
 	// {
-	//   "description": "Resolves a merge conflict for a workspace entity by updating it to the resolved entity passed in the request.",
+	//   "description": "Resolves a merge conflict for a workspace entity by updating it to the\nresolved entity passed in the request.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:resolve_conflict",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.resolve_conflict",
 	//   "parameterOrder": [
@@ -7538,18 +7839,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the entity_in_workspace in the merge conflict.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\nentity_in_workspace in the merge conflict.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:resolve_conflict",
+	//   "path": "tagmanager/v2/{+path}:resolve_conflict",
 	//   "request": {
 	//     "$ref": "Entity"
 	//   },
@@ -7571,8 +7873,10 @@
 }
 
 // Sync: Syncs a workspace to the latest container version by updating
-// all unmodified workspace entities and displaying conflicts for
-// modified entities.
+// all
+// unmodified workspace entities and displaying conflicts for
+// modified
+// entities.
 func (r *AccountsContainersWorkspacesService) Sync(path string) *AccountsContainersWorkspacesSyncCall {
 	c := &AccountsContainersWorkspacesSyncCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.path = path
@@ -7613,7 +7917,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:sync")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:sync")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -7664,7 +7968,8 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Syncs a workspace to the latest container version by updating all unmodified workspace entities and displaying conflicts for modified entities.",
+	//   "description": "Syncs a workspace to the latest container version by updating all\nunmodified workspace entities and displaying conflicts for modified\nentities.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:sync",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.sync",
 	//   "parameterOrder": [
@@ -7672,13 +7977,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:sync",
+	//   "path": "tagmanager/v2/{+path}:sync",
 	//   "response": {
 	//     "$ref": "SyncWorkspaceResponse"
 	//   },
@@ -7709,8 +8015,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the workspace in
-// storage.
+// this fingerprint must match the fingerprint of the
+// workspace in storage.
 func (c *AccountsContainersWorkspacesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -7755,7 +8061,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -7807,6 +8113,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.workspaces.update",
 	//   "parameterOrder": [
@@ -7814,18 +8121,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the workspace in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the\nworkspace in storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "Workspace"
 	//   },
@@ -7860,52 +8168,72 @@
 // variables to enable.
 //
 // Possible values:
-//   "advertiserId"
-//   "advertisingTrackingEnabled"
-//   "ampBrowserLanguage"
-//   "ampCanonicalHost"
-//   "ampCanonicalPath"
-//   "ampCanonicalUrl"
-//   "ampClientId"
-//   "ampClientMaxScrollX"
-//   "ampClientMaxScrollY"
-//   "ampClientScreenHeight"
-//   "ampClientScreenWidth"
-//   "ampClientScrollX"
-//   "ampClientScrollY"
-//   "ampClientTimestamp"
-//   "ampClientTimezone"
-//   "ampGtmEvent"
-//   "ampPageDownloadTime"
-//   "ampPageLoadTime"
-//   "ampPageViewId"
-//   "ampReferrer"
-//   "ampTitle"
-//   "ampTotalEngagedTime"
+//   "builtInVariableTypeUnspecified"
+//   "pageUrl"
+//   "pageHostname"
+//   "pagePath"
+//   "referrer"
+//   "event"
+//   "clickElement"
+//   "clickClasses"
+//   "clickId"
+//   "clickTarget"
+//   "clickUrl"
+//   "clickText"
+//   "formElement"
+//   "formClasses"
+//   "formId"
+//   "formTarget"
+//   "formUrl"
+//   "formText"
+//   "errorMessage"
+//   "errorUrl"
+//   "errorLine"
+//   "newHistoryUrl"
+//   "oldHistoryUrl"
+//   "newHistoryFragment"
+//   "oldHistoryFragment"
+//   "newHistoryState"
+//   "oldHistoryState"
+//   "historySource"
+//   "containerVersion"
+//   "debugMode"
+//   "randomNumber"
+//   "containerId"
 //   "appId"
 //   "appName"
 //   "appVersionCode"
 //   "appVersionName"
-//   "builtInVariableTypeUnspecified"
-//   "clickClasses"
-//   "clickElement"
-//   "clickId"
-//   "clickTarget"
-//   "clickText"
-//   "clickUrl"
-//   "containerId"
-//   "containerVersion"
-//   "debugMode"
+//   "language"
+//   "osVersion"
+//   "platform"
+//   "sdkVersion"
 //   "deviceName"
-//   "elementVisibilityFirstTime"
-//   "elementVisibilityRatio"
-//   "elementVisibilityRecentTime"
-//   "elementVisibilityTime"
+//   "resolution"
+//   "advertiserId"
+//   "advertisingTrackingEnabled"
+//   "htmlId"
 //   "environmentName"
-//   "errorLine"
-//   "errorMessage"
-//   "errorUrl"
-//   "event"
+//   "ampBrowserLanguage"
+//   "ampCanonicalPath"
+//   "ampCanonicalUrl"
+//   "ampCanonicalHost"
+//   "ampReferrer"
+//   "ampTitle"
+//   "ampClientId"
+//   "ampClientTimezone"
+//   "ampClientTimestamp"
+//   "ampClientScreenWidth"
+//   "ampClientScreenHeight"
+//   "ampClientScrollX"
+//   "ampClientScrollY"
+//   "ampClientMaxScrollX"
+//   "ampClientMaxScrollY"
+//   "ampTotalEngagedTime"
+//   "ampPageViewId"
+//   "ampPageLoadTime"
+//   "ampPageDownloadTime"
+//   "ampGtmEvent"
 //   "eventName"
 //   "firebaseEventParameterCampaign"
 //   "firebaseEventParameterCampaignAclid"
@@ -7930,41 +8258,21 @@
 //   "firebaseEventParameterProductId"
 //   "firebaseEventParameterQuantity"
 //   "firebaseEventParameterValue"
-//   "formClasses"
-//   "formElement"
-//   "formId"
-//   "formTarget"
-//   "formText"
-//   "formUrl"
-//   "historySource"
-//   "htmlId"
-//   "language"
-//   "newHistoryFragment"
-//   "newHistoryState"
-//   "newHistoryUrl"
-//   "oldHistoryFragment"
-//   "oldHistoryState"
-//   "oldHistoryUrl"
-//   "osVersion"
-//   "pageHostname"
-//   "pagePath"
-//   "pageUrl"
-//   "platform"
-//   "randomNumber"
-//   "referrer"
-//   "resolution"
-//   "scrollDepthDirection"
-//   "scrollDepthThreshold"
-//   "scrollDepthUnits"
-//   "sdkVersion"
-//   "videoCurrentTime"
+//   "videoProvider"
+//   "videoUrl"
+//   "videoTitle"
 //   "videoDuration"
 //   "videoPercent"
-//   "videoProvider"
-//   "videoStatus"
-//   "videoTitle"
-//   "videoUrl"
 //   "videoVisible"
+//   "videoStatus"
+//   "videoCurrentTime"
+//   "scrollDepthThreshold"
+//   "scrollDepthUnits"
+//   "scrollDepthDirection"
+//   "elementVisibilityRatio"
+//   "elementVisibilityTime"
+//   "elementVisibilityFirstTime"
+//   "elementVisibilityRecentTime"
 func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Type(type_ ...string) *AccountsContainersWorkspacesBuiltInVariablesCreateCall {
 	c.urlParams_.SetMulti("type", append([]string{}, type_...))
 	return c
@@ -8004,7 +8312,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/built_in_variables")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/built_in_variables")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -8056,6 +8364,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates one or more GTM Built-In Variables.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.built_in_variables.create",
 	//   "parameterOrder": [
@@ -8063,60 +8372,81 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "type": {
 	//       "description": "The types of built-in variables to enable.",
 	//       "enum": [
-	//         "advertiserId",
-	//         "advertisingTrackingEnabled",
-	//         "ampBrowserLanguage",
-	//         "ampCanonicalHost",
-	//         "ampCanonicalPath",
-	//         "ampCanonicalUrl",
-	//         "ampClientId",
-	//         "ampClientMaxScrollX",
-	//         "ampClientMaxScrollY",
-	//         "ampClientScreenHeight",
-	//         "ampClientScreenWidth",
-	//         "ampClientScrollX",
-	//         "ampClientScrollY",
-	//         "ampClientTimestamp",
-	//         "ampClientTimezone",
-	//         "ampGtmEvent",
-	//         "ampPageDownloadTime",
-	//         "ampPageLoadTime",
-	//         "ampPageViewId",
-	//         "ampReferrer",
-	//         "ampTitle",
-	//         "ampTotalEngagedTime",
+	//         "builtInVariableTypeUnspecified",
+	//         "pageUrl",
+	//         "pageHostname",
+	//         "pagePath",
+	//         "referrer",
+	//         "event",
+	//         "clickElement",
+	//         "clickClasses",
+	//         "clickId",
+	//         "clickTarget",
+	//         "clickUrl",
+	//         "clickText",
+	//         "formElement",
+	//         "formClasses",
+	//         "formId",
+	//         "formTarget",
+	//         "formUrl",
+	//         "formText",
+	//         "errorMessage",
+	//         "errorUrl",
+	//         "errorLine",
+	//         "newHistoryUrl",
+	//         "oldHistoryUrl",
+	//         "newHistoryFragment",
+	//         "oldHistoryFragment",
+	//         "newHistoryState",
+	//         "oldHistoryState",
+	//         "historySource",
+	//         "containerVersion",
+	//         "debugMode",
+	//         "randomNumber",
+	//         "containerId",
 	//         "appId",
 	//         "appName",
 	//         "appVersionCode",
 	//         "appVersionName",
-	//         "builtInVariableTypeUnspecified",
-	//         "clickClasses",
-	//         "clickElement",
-	//         "clickId",
-	//         "clickTarget",
-	//         "clickText",
-	//         "clickUrl",
-	//         "containerId",
-	//         "containerVersion",
-	//         "debugMode",
+	//         "language",
+	//         "osVersion",
+	//         "platform",
+	//         "sdkVersion",
 	//         "deviceName",
-	//         "elementVisibilityFirstTime",
-	//         "elementVisibilityRatio",
-	//         "elementVisibilityRecentTime",
-	//         "elementVisibilityTime",
+	//         "resolution",
+	//         "advertiserId",
+	//         "advertisingTrackingEnabled",
+	//         "htmlId",
 	//         "environmentName",
-	//         "errorLine",
-	//         "errorMessage",
-	//         "errorUrl",
-	//         "event",
+	//         "ampBrowserLanguage",
+	//         "ampCanonicalPath",
+	//         "ampCanonicalUrl",
+	//         "ampCanonicalHost",
+	//         "ampReferrer",
+	//         "ampTitle",
+	//         "ampClientId",
+	//         "ampClientTimezone",
+	//         "ampClientTimestamp",
+	//         "ampClientScreenWidth",
+	//         "ampClientScreenHeight",
+	//         "ampClientScrollX",
+	//         "ampClientScrollY",
+	//         "ampClientMaxScrollX",
+	//         "ampClientMaxScrollY",
+	//         "ampTotalEngagedTime",
+	//         "ampPageViewId",
+	//         "ampPageLoadTime",
+	//         "ampPageDownloadTime",
+	//         "ampGtmEvent",
 	//         "eventName",
 	//         "firebaseEventParameterCampaign",
 	//         "firebaseEventParameterCampaignAclid",
@@ -8141,155 +8471,28 @@
 	//         "firebaseEventParameterProductId",
 	//         "firebaseEventParameterQuantity",
 	//         "firebaseEventParameterValue",
-	//         "formClasses",
-	//         "formElement",
-	//         "formId",
-	//         "formTarget",
-	//         "formText",
-	//         "formUrl",
-	//         "historySource",
-	//         "htmlId",
-	//         "language",
-	//         "newHistoryFragment",
-	//         "newHistoryState",
-	//         "newHistoryUrl",
-	//         "oldHistoryFragment",
-	//         "oldHistoryState",
-	//         "oldHistoryUrl",
-	//         "osVersion",
-	//         "pageHostname",
-	//         "pagePath",
-	//         "pageUrl",
-	//         "platform",
-	//         "randomNumber",
-	//         "referrer",
-	//         "resolution",
-	//         "scrollDepthDirection",
-	//         "scrollDepthThreshold",
-	//         "scrollDepthUnits",
-	//         "sdkVersion",
-	//         "videoCurrentTime",
+	//         "videoProvider",
+	//         "videoUrl",
+	//         "videoTitle",
 	//         "videoDuration",
 	//         "videoPercent",
-	//         "videoProvider",
+	//         "videoVisible",
 	//         "videoStatus",
-	//         "videoTitle",
-	//         "videoUrl",
-	//         "videoVisible"
-	//       ],
-	//       "enumDescriptions": [
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         ""
+	//         "videoCurrentTime",
+	//         "scrollDepthThreshold",
+	//         "scrollDepthUnits",
+	//         "scrollDepthDirection",
+	//         "elementVisibilityRatio",
+	//         "elementVisibilityTime",
+	//         "elementVisibilityFirstTime",
+	//         "elementVisibilityRecentTime"
 	//       ],
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/built_in_variables",
+	//   "path": "tagmanager/v2/{+parent}/built_in_variables",
 	//   "response": {
 	//     "$ref": "CreateBuiltInVariableResponse"
 	//   },
@@ -8321,52 +8524,72 @@
 // variables to delete.
 //
 // Possible values:
-//   "advertiserId"
-//   "advertisingTrackingEnabled"
-//   "ampBrowserLanguage"
-//   "ampCanonicalHost"
-//   "ampCanonicalPath"
-//   "ampCanonicalUrl"
-//   "ampClientId"
-//   "ampClientMaxScrollX"
-//   "ampClientMaxScrollY"
-//   "ampClientScreenHeight"
-//   "ampClientScreenWidth"
-//   "ampClientScrollX"
-//   "ampClientScrollY"
-//   "ampClientTimestamp"
-//   "ampClientTimezone"
-//   "ampGtmEvent"
-//   "ampPageDownloadTime"
-//   "ampPageLoadTime"
-//   "ampPageViewId"
-//   "ampReferrer"
-//   "ampTitle"
-//   "ampTotalEngagedTime"
+//   "builtInVariableTypeUnspecified"
+//   "pageUrl"
+//   "pageHostname"
+//   "pagePath"
+//   "referrer"
+//   "event"
+//   "clickElement"
+//   "clickClasses"
+//   "clickId"
+//   "clickTarget"
+//   "clickUrl"
+//   "clickText"
+//   "formElement"
+//   "formClasses"
+//   "formId"
+//   "formTarget"
+//   "formUrl"
+//   "formText"
+//   "errorMessage"
+//   "errorUrl"
+//   "errorLine"
+//   "newHistoryUrl"
+//   "oldHistoryUrl"
+//   "newHistoryFragment"
+//   "oldHistoryFragment"
+//   "newHistoryState"
+//   "oldHistoryState"
+//   "historySource"
+//   "containerVersion"
+//   "debugMode"
+//   "randomNumber"
+//   "containerId"
 //   "appId"
 //   "appName"
 //   "appVersionCode"
 //   "appVersionName"
-//   "builtInVariableTypeUnspecified"
-//   "clickClasses"
-//   "clickElement"
-//   "clickId"
-//   "clickTarget"
-//   "clickText"
-//   "clickUrl"
-//   "containerId"
-//   "containerVersion"
-//   "debugMode"
+//   "language"
+//   "osVersion"
+//   "platform"
+//   "sdkVersion"
 //   "deviceName"
-//   "elementVisibilityFirstTime"
-//   "elementVisibilityRatio"
-//   "elementVisibilityRecentTime"
-//   "elementVisibilityTime"
+//   "resolution"
+//   "advertiserId"
+//   "advertisingTrackingEnabled"
+//   "htmlId"
 //   "environmentName"
-//   "errorLine"
-//   "errorMessage"
-//   "errorUrl"
-//   "event"
+//   "ampBrowserLanguage"
+//   "ampCanonicalPath"
+//   "ampCanonicalUrl"
+//   "ampCanonicalHost"
+//   "ampReferrer"
+//   "ampTitle"
+//   "ampClientId"
+//   "ampClientTimezone"
+//   "ampClientTimestamp"
+//   "ampClientScreenWidth"
+//   "ampClientScreenHeight"
+//   "ampClientScrollX"
+//   "ampClientScrollY"
+//   "ampClientMaxScrollX"
+//   "ampClientMaxScrollY"
+//   "ampTotalEngagedTime"
+//   "ampPageViewId"
+//   "ampPageLoadTime"
+//   "ampPageDownloadTime"
+//   "ampGtmEvent"
 //   "eventName"
 //   "firebaseEventParameterCampaign"
 //   "firebaseEventParameterCampaignAclid"
@@ -8391,41 +8614,21 @@
 //   "firebaseEventParameterProductId"
 //   "firebaseEventParameterQuantity"
 //   "firebaseEventParameterValue"
-//   "formClasses"
-//   "formElement"
-//   "formId"
-//   "formTarget"
-//   "formText"
-//   "formUrl"
-//   "historySource"
-//   "htmlId"
-//   "language"
-//   "newHistoryFragment"
-//   "newHistoryState"
-//   "newHistoryUrl"
-//   "oldHistoryFragment"
-//   "oldHistoryState"
-//   "oldHistoryUrl"
-//   "osVersion"
-//   "pageHostname"
-//   "pagePath"
-//   "pageUrl"
-//   "platform"
-//   "randomNumber"
-//   "referrer"
-//   "resolution"
-//   "scrollDepthDirection"
-//   "scrollDepthThreshold"
-//   "scrollDepthUnits"
-//   "sdkVersion"
-//   "videoCurrentTime"
+//   "videoProvider"
+//   "videoUrl"
+//   "videoTitle"
 //   "videoDuration"
 //   "videoPercent"
-//   "videoProvider"
-//   "videoStatus"
-//   "videoTitle"
-//   "videoUrl"
 //   "videoVisible"
+//   "videoStatus"
+//   "videoCurrentTime"
+//   "scrollDepthThreshold"
+//   "scrollDepthUnits"
+//   "scrollDepthDirection"
+//   "elementVisibilityRatio"
+//   "elementVisibilityTime"
+//   "elementVisibilityFirstTime"
+//   "elementVisibilityRecentTime"
 func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Type(type_ ...string) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall {
 	c.urlParams_.SetMulti("type", append([]string{}, type_...))
 	return c
@@ -8465,7 +8668,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -8492,6 +8695,7 @@
 	return nil
 	// {
 	//   "description": "Deletes one or more GTM Built-In Variables.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.workspaces.built_in_variables.delete",
 	//   "parameterOrder": [
@@ -8499,60 +8703,81 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM BuiltInVariable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
+	//       "description": "GTM BuiltInVariable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/built_in_variables$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "type": {
 	//       "description": "The types of built-in variables to delete.",
 	//       "enum": [
-	//         "advertiserId",
-	//         "advertisingTrackingEnabled",
-	//         "ampBrowserLanguage",
-	//         "ampCanonicalHost",
-	//         "ampCanonicalPath",
-	//         "ampCanonicalUrl",
-	//         "ampClientId",
-	//         "ampClientMaxScrollX",
-	//         "ampClientMaxScrollY",
-	//         "ampClientScreenHeight",
-	//         "ampClientScreenWidth",
-	//         "ampClientScrollX",
-	//         "ampClientScrollY",
-	//         "ampClientTimestamp",
-	//         "ampClientTimezone",
-	//         "ampGtmEvent",
-	//         "ampPageDownloadTime",
-	//         "ampPageLoadTime",
-	//         "ampPageViewId",
-	//         "ampReferrer",
-	//         "ampTitle",
-	//         "ampTotalEngagedTime",
+	//         "builtInVariableTypeUnspecified",
+	//         "pageUrl",
+	//         "pageHostname",
+	//         "pagePath",
+	//         "referrer",
+	//         "event",
+	//         "clickElement",
+	//         "clickClasses",
+	//         "clickId",
+	//         "clickTarget",
+	//         "clickUrl",
+	//         "clickText",
+	//         "formElement",
+	//         "formClasses",
+	//         "formId",
+	//         "formTarget",
+	//         "formUrl",
+	//         "formText",
+	//         "errorMessage",
+	//         "errorUrl",
+	//         "errorLine",
+	//         "newHistoryUrl",
+	//         "oldHistoryUrl",
+	//         "newHistoryFragment",
+	//         "oldHistoryFragment",
+	//         "newHistoryState",
+	//         "oldHistoryState",
+	//         "historySource",
+	//         "containerVersion",
+	//         "debugMode",
+	//         "randomNumber",
+	//         "containerId",
 	//         "appId",
 	//         "appName",
 	//         "appVersionCode",
 	//         "appVersionName",
-	//         "builtInVariableTypeUnspecified",
-	//         "clickClasses",
-	//         "clickElement",
-	//         "clickId",
-	//         "clickTarget",
-	//         "clickText",
-	//         "clickUrl",
-	//         "containerId",
-	//         "containerVersion",
-	//         "debugMode",
+	//         "language",
+	//         "osVersion",
+	//         "platform",
+	//         "sdkVersion",
 	//         "deviceName",
-	//         "elementVisibilityFirstTime",
-	//         "elementVisibilityRatio",
-	//         "elementVisibilityRecentTime",
-	//         "elementVisibilityTime",
+	//         "resolution",
+	//         "advertiserId",
+	//         "advertisingTrackingEnabled",
+	//         "htmlId",
 	//         "environmentName",
-	//         "errorLine",
-	//         "errorMessage",
-	//         "errorUrl",
-	//         "event",
+	//         "ampBrowserLanguage",
+	//         "ampCanonicalPath",
+	//         "ampCanonicalUrl",
+	//         "ampCanonicalHost",
+	//         "ampReferrer",
+	//         "ampTitle",
+	//         "ampClientId",
+	//         "ampClientTimezone",
+	//         "ampClientTimestamp",
+	//         "ampClientScreenWidth",
+	//         "ampClientScreenHeight",
+	//         "ampClientScrollX",
+	//         "ampClientScrollY",
+	//         "ampClientMaxScrollX",
+	//         "ampClientMaxScrollY",
+	//         "ampTotalEngagedTime",
+	//         "ampPageViewId",
+	//         "ampPageLoadTime",
+	//         "ampPageDownloadTime",
+	//         "ampGtmEvent",
 	//         "eventName",
 	//         "firebaseEventParameterCampaign",
 	//         "firebaseEventParameterCampaignAclid",
@@ -8577,155 +8802,28 @@
 	//         "firebaseEventParameterProductId",
 	//         "firebaseEventParameterQuantity",
 	//         "firebaseEventParameterValue",
-	//         "formClasses",
-	//         "formElement",
-	//         "formId",
-	//         "formTarget",
-	//         "formText",
-	//         "formUrl",
-	//         "historySource",
-	//         "htmlId",
-	//         "language",
-	//         "newHistoryFragment",
-	//         "newHistoryState",
-	//         "newHistoryUrl",
-	//         "oldHistoryFragment",
-	//         "oldHistoryState",
-	//         "oldHistoryUrl",
-	//         "osVersion",
-	//         "pageHostname",
-	//         "pagePath",
-	//         "pageUrl",
-	//         "platform",
-	//         "randomNumber",
-	//         "referrer",
-	//         "resolution",
-	//         "scrollDepthDirection",
-	//         "scrollDepthThreshold",
-	//         "scrollDepthUnits",
-	//         "sdkVersion",
-	//         "videoCurrentTime",
+	//         "videoProvider",
+	//         "videoUrl",
+	//         "videoTitle",
 	//         "videoDuration",
 	//         "videoPercent",
-	//         "videoProvider",
+	//         "videoVisible",
 	//         "videoStatus",
-	//         "videoTitle",
-	//         "videoUrl",
-	//         "videoVisible"
-	//       ],
-	//       "enumDescriptions": [
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         ""
+	//         "videoCurrentTime",
+	//         "scrollDepthThreshold",
+	//         "scrollDepthUnits",
+	//         "scrollDepthDirection",
+	//         "elementVisibilityRatio",
+	//         "elementVisibilityTime",
+	//         "elementVisibilityFirstTime",
+	//         "elementVisibilityRecentTime"
 	//       ],
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -8805,7 +8903,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/built_in_variables")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/built_in_variables")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -8858,6 +8956,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all the enabled Built-In Variables of a GTM Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.built_in_variables.list",
 	//   "parameterOrder": [
@@ -8870,13 +8969,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/built_in_variables",
+	//   "path": "tagmanager/v2/{+parent}/built_in_variables",
 	//   "response": {
 	//     "$ref": "ListEnabledBuiltInVariablesResponse"
 	//   },
@@ -8931,52 +9031,72 @@
 // variable to revert.
 //
 // Possible values:
-//   "advertiserId"
-//   "advertisingTrackingEnabled"
-//   "ampBrowserLanguage"
-//   "ampCanonicalHost"
-//   "ampCanonicalPath"
-//   "ampCanonicalUrl"
-//   "ampClientId"
-//   "ampClientMaxScrollX"
-//   "ampClientMaxScrollY"
-//   "ampClientScreenHeight"
-//   "ampClientScreenWidth"
-//   "ampClientScrollX"
-//   "ampClientScrollY"
-//   "ampClientTimestamp"
-//   "ampClientTimezone"
-//   "ampGtmEvent"
-//   "ampPageDownloadTime"
-//   "ampPageLoadTime"
-//   "ampPageViewId"
-//   "ampReferrer"
-//   "ampTitle"
-//   "ampTotalEngagedTime"
+//   "builtInVariableTypeUnspecified"
+//   "pageUrl"
+//   "pageHostname"
+//   "pagePath"
+//   "referrer"
+//   "event"
+//   "clickElement"
+//   "clickClasses"
+//   "clickId"
+//   "clickTarget"
+//   "clickUrl"
+//   "clickText"
+//   "formElement"
+//   "formClasses"
+//   "formId"
+//   "formTarget"
+//   "formUrl"
+//   "formText"
+//   "errorMessage"
+//   "errorUrl"
+//   "errorLine"
+//   "newHistoryUrl"
+//   "oldHistoryUrl"
+//   "newHistoryFragment"
+//   "oldHistoryFragment"
+//   "newHistoryState"
+//   "oldHistoryState"
+//   "historySource"
+//   "containerVersion"
+//   "debugMode"
+//   "randomNumber"
+//   "containerId"
 //   "appId"
 //   "appName"
 //   "appVersionCode"
 //   "appVersionName"
-//   "builtInVariableTypeUnspecified"
-//   "clickClasses"
-//   "clickElement"
-//   "clickId"
-//   "clickTarget"
-//   "clickText"
-//   "clickUrl"
-//   "containerId"
-//   "containerVersion"
-//   "debugMode"
+//   "language"
+//   "osVersion"
+//   "platform"
+//   "sdkVersion"
 //   "deviceName"
-//   "elementVisibilityFirstTime"
-//   "elementVisibilityRatio"
-//   "elementVisibilityRecentTime"
-//   "elementVisibilityTime"
+//   "resolution"
+//   "advertiserId"
+//   "advertisingTrackingEnabled"
+//   "htmlId"
 //   "environmentName"
-//   "errorLine"
-//   "errorMessage"
-//   "errorUrl"
-//   "event"
+//   "ampBrowserLanguage"
+//   "ampCanonicalPath"
+//   "ampCanonicalUrl"
+//   "ampCanonicalHost"
+//   "ampReferrer"
+//   "ampTitle"
+//   "ampClientId"
+//   "ampClientTimezone"
+//   "ampClientTimestamp"
+//   "ampClientScreenWidth"
+//   "ampClientScreenHeight"
+//   "ampClientScrollX"
+//   "ampClientScrollY"
+//   "ampClientMaxScrollX"
+//   "ampClientMaxScrollY"
+//   "ampTotalEngagedTime"
+//   "ampPageViewId"
+//   "ampPageLoadTime"
+//   "ampPageDownloadTime"
+//   "ampGtmEvent"
 //   "eventName"
 //   "firebaseEventParameterCampaign"
 //   "firebaseEventParameterCampaignAclid"
@@ -9001,41 +9121,21 @@
 //   "firebaseEventParameterProductId"
 //   "firebaseEventParameterQuantity"
 //   "firebaseEventParameterValue"
-//   "formClasses"
-//   "formElement"
-//   "formId"
-//   "formTarget"
-//   "formText"
-//   "formUrl"
-//   "historySource"
-//   "htmlId"
-//   "language"
-//   "newHistoryFragment"
-//   "newHistoryState"
-//   "newHistoryUrl"
-//   "oldHistoryFragment"
-//   "oldHistoryState"
-//   "oldHistoryUrl"
-//   "osVersion"
-//   "pageHostname"
-//   "pagePath"
-//   "pageUrl"
-//   "platform"
-//   "randomNumber"
-//   "referrer"
-//   "resolution"
-//   "scrollDepthDirection"
-//   "scrollDepthThreshold"
-//   "scrollDepthUnits"
-//   "sdkVersion"
-//   "videoCurrentTime"
+//   "videoProvider"
+//   "videoUrl"
+//   "videoTitle"
 //   "videoDuration"
 //   "videoPercent"
-//   "videoProvider"
-//   "videoStatus"
-//   "videoTitle"
-//   "videoUrl"
 //   "videoVisible"
+//   "videoStatus"
+//   "videoCurrentTime"
+//   "scrollDepthThreshold"
+//   "scrollDepthUnits"
+//   "scrollDepthDirection"
+//   "elementVisibilityRatio"
+//   "elementVisibilityTime"
+//   "elementVisibilityFirstTime"
+//   "elementVisibilityRecentTime"
 func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Type(type_ string) *AccountsContainersWorkspacesBuiltInVariablesRevertCall {
 	c.urlParams_.Set("type", type_)
 	return c
@@ -9075,7 +9175,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}/built_in_variables:revert")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}/built_in_variables:revert")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -9127,6 +9227,7 @@
 	return ret, nil
 	// {
 	//   "description": "Reverts changes to a GTM Built-In Variables in a GTM Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables:revert",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.built_in_variables.revert",
 	//   "parameterOrder": [
@@ -9134,60 +9235,81 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM BuiltInVariable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
+	//       "description": "GTM BuiltInVariable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "type": {
 	//       "description": "The type of built-in variable to revert.",
 	//       "enum": [
-	//         "advertiserId",
-	//         "advertisingTrackingEnabled",
-	//         "ampBrowserLanguage",
-	//         "ampCanonicalHost",
-	//         "ampCanonicalPath",
-	//         "ampCanonicalUrl",
-	//         "ampClientId",
-	//         "ampClientMaxScrollX",
-	//         "ampClientMaxScrollY",
-	//         "ampClientScreenHeight",
-	//         "ampClientScreenWidth",
-	//         "ampClientScrollX",
-	//         "ampClientScrollY",
-	//         "ampClientTimestamp",
-	//         "ampClientTimezone",
-	//         "ampGtmEvent",
-	//         "ampPageDownloadTime",
-	//         "ampPageLoadTime",
-	//         "ampPageViewId",
-	//         "ampReferrer",
-	//         "ampTitle",
-	//         "ampTotalEngagedTime",
+	//         "builtInVariableTypeUnspecified",
+	//         "pageUrl",
+	//         "pageHostname",
+	//         "pagePath",
+	//         "referrer",
+	//         "event",
+	//         "clickElement",
+	//         "clickClasses",
+	//         "clickId",
+	//         "clickTarget",
+	//         "clickUrl",
+	//         "clickText",
+	//         "formElement",
+	//         "formClasses",
+	//         "formId",
+	//         "formTarget",
+	//         "formUrl",
+	//         "formText",
+	//         "errorMessage",
+	//         "errorUrl",
+	//         "errorLine",
+	//         "newHistoryUrl",
+	//         "oldHistoryUrl",
+	//         "newHistoryFragment",
+	//         "oldHistoryFragment",
+	//         "newHistoryState",
+	//         "oldHistoryState",
+	//         "historySource",
+	//         "containerVersion",
+	//         "debugMode",
+	//         "randomNumber",
+	//         "containerId",
 	//         "appId",
 	//         "appName",
 	//         "appVersionCode",
 	//         "appVersionName",
-	//         "builtInVariableTypeUnspecified",
-	//         "clickClasses",
-	//         "clickElement",
-	//         "clickId",
-	//         "clickTarget",
-	//         "clickText",
-	//         "clickUrl",
-	//         "containerId",
-	//         "containerVersion",
-	//         "debugMode",
+	//         "language",
+	//         "osVersion",
+	//         "platform",
+	//         "sdkVersion",
 	//         "deviceName",
-	//         "elementVisibilityFirstTime",
-	//         "elementVisibilityRatio",
-	//         "elementVisibilityRecentTime",
-	//         "elementVisibilityTime",
+	//         "resolution",
+	//         "advertiserId",
+	//         "advertisingTrackingEnabled",
+	//         "htmlId",
 	//         "environmentName",
-	//         "errorLine",
-	//         "errorMessage",
-	//         "errorUrl",
-	//         "event",
+	//         "ampBrowserLanguage",
+	//         "ampCanonicalPath",
+	//         "ampCanonicalUrl",
+	//         "ampCanonicalHost",
+	//         "ampReferrer",
+	//         "ampTitle",
+	//         "ampClientId",
+	//         "ampClientTimezone",
+	//         "ampClientTimestamp",
+	//         "ampClientScreenWidth",
+	//         "ampClientScreenHeight",
+	//         "ampClientScrollX",
+	//         "ampClientScrollY",
+	//         "ampClientMaxScrollX",
+	//         "ampClientMaxScrollY",
+	//         "ampTotalEngagedTime",
+	//         "ampPageViewId",
+	//         "ampPageLoadTime",
+	//         "ampPageDownloadTime",
+	//         "ampGtmEvent",
 	//         "eventName",
 	//         "firebaseEventParameterCampaign",
 	//         "firebaseEventParameterCampaignAclid",
@@ -9212,154 +9334,27 @@
 	//         "firebaseEventParameterProductId",
 	//         "firebaseEventParameterQuantity",
 	//         "firebaseEventParameterValue",
-	//         "formClasses",
-	//         "formElement",
-	//         "formId",
-	//         "formTarget",
-	//         "formText",
-	//         "formUrl",
-	//         "historySource",
-	//         "htmlId",
-	//         "language",
-	//         "newHistoryFragment",
-	//         "newHistoryState",
-	//         "newHistoryUrl",
-	//         "oldHistoryFragment",
-	//         "oldHistoryState",
-	//         "oldHistoryUrl",
-	//         "osVersion",
-	//         "pageHostname",
-	//         "pagePath",
-	//         "pageUrl",
-	//         "platform",
-	//         "randomNumber",
-	//         "referrer",
-	//         "resolution",
-	//         "scrollDepthDirection",
-	//         "scrollDepthThreshold",
-	//         "scrollDepthUnits",
-	//         "sdkVersion",
-	//         "videoCurrentTime",
+	//         "videoProvider",
+	//         "videoUrl",
+	//         "videoTitle",
 	//         "videoDuration",
 	//         "videoPercent",
-	//         "videoProvider",
+	//         "videoVisible",
 	//         "videoStatus",
-	//         "videoTitle",
-	//         "videoUrl",
-	//         "videoVisible"
-	//       ],
-	//       "enumDescriptions": [
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         "",
-	//         ""
+	//         "videoCurrentTime",
+	//         "scrollDepthThreshold",
+	//         "scrollDepthUnits",
+	//         "scrollDepthDirection",
+	//         "elementVisibilityRatio",
+	//         "elementVisibilityTime",
+	//         "elementVisibilityFirstTime",
+	//         "elementVisibilityRecentTime"
 	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}/built_in_variables:revert",
+	//   "path": "tagmanager/v2/{+path}/built_in_variables:revert",
 	//   "response": {
 	//     "$ref": "RevertBuiltInVariableResponse"
 	//   },
@@ -9428,7 +9423,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/folders")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/folders")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -9480,6 +9475,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Folder.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.folders.create",
 	//   "parameterOrder": [
@@ -9487,13 +9483,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/folders",
+	//   "path": "tagmanager/v2/{+parent}/folders",
 	//   "request": {
 	//     "$ref": "Folder"
 	//   },
@@ -9558,7 +9555,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -9585,6 +9582,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Folder.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.workspaces.folders.delete",
 	//   "parameterOrder": [
@@ -9592,13 +9590,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -9664,7 +9663,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:entities")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:entities")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -9716,6 +9715,7 @@
 	return ret, nil
 	// {
 	//   "description": "List all entities in a GTM Folder.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:entities",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.folders.entities",
 	//   "parameterOrder": [
@@ -9728,13 +9728,14 @@
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:entities",
+	//   "path": "tagmanager/v2/{+path}:entities",
 	//   "response": {
 	//     "$ref": "FolderEntities"
 	//   },
@@ -9832,7 +9833,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -9884,6 +9885,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Folder.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.folders.get",
 	//   "parameterOrder": [
@@ -9891,13 +9893,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "Folder"
 	//   },
@@ -9981,7 +9984,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/folders")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/folders")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -10033,6 +10036,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Folders of a Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.folders.list",
 	//   "parameterOrder": [
@@ -10045,13 +10049,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/folders",
+	//   "path": "tagmanager/v2/{+parent}/folders",
 	//   "response": {
 	//     "$ref": "ListFoldersResponse"
 	//   },
@@ -10163,7 +10168,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:move_entities_to_folder")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:move_entities_to_folder")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -10190,6 +10195,7 @@
 	return nil
 	// {
 	//   "description": "Moves entities to a GTM Folder.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:move_entities_to_folder",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.folders.move_entities_to_folder",
 	//   "parameterOrder": [
@@ -10197,8 +10203,9 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
@@ -10221,7 +10228,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:move_entities_to_folder",
+	//   "path": "tagmanager/v2/{+path}:move_entities_to_folder",
 	//   "request": {
 	//     "$ref": "Folder"
 	//   },
@@ -10250,7 +10257,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the tag in storage.
+// this fingerprint must match the fingerprint of the tag
+// in storage.
 func (c *AccountsContainersWorkspacesFoldersRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesFoldersRevertCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -10290,7 +10298,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:revert")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -10342,6 +10350,7 @@
 	return ret, nil
 	// {
 	//   "description": "Reverts changes to a GTM Folder in a GTM Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:revert",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.folders.revert",
 	//   "parameterOrder": [
@@ -10349,18 +10358,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the tag in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the tag\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:revert",
+	//   "path": "tagmanager/v2/{+path}:revert",
 	//   "response": {
 	//     "$ref": "RevertFolderResponse"
 	//   },
@@ -10391,7 +10401,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the folder in storage.
+// this fingerprint must match the fingerprint of the folder in
+// storage.
 func (c *AccountsContainersWorkspacesFoldersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesFoldersUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -10436,7 +10447,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -10488,6 +10499,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Folder.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.workspaces.folders.update",
 	//   "parameterOrder": [
@@ -10495,18 +10507,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the folder in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the folder in\nstorage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
+	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "Folder"
 	//   },
@@ -10578,7 +10591,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/tags")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/tags")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -10630,6 +10643,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Tag.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.tags.create",
 	//   "parameterOrder": [
@@ -10637,13 +10651,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/tags",
+	//   "path": "tagmanager/v2/{+parent}/tags",
 	//   "request": {
 	//     "$ref": "Tag"
 	//   },
@@ -10708,7 +10723,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -10735,6 +10750,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Tag.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.workspaces.tags.delete",
 	//   "parameterOrder": [
@@ -10742,13 +10758,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
+	//       "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -10821,7 +10838,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -10873,6 +10890,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Tag.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.tags.get",
 	//   "parameterOrder": [
@@ -10880,13 +10898,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
+	//       "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "Tag"
 	//   },
@@ -10970,7 +10989,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/tags")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/tags")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -11022,6 +11041,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Tags of a Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.tags.list",
 	//   "parameterOrder": [
@@ -11034,13 +11054,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/tags",
+	//   "path": "tagmanager/v2/{+parent}/tags",
 	//   "response": {
 	//     "$ref": "ListTagsResponse"
 	//   },
@@ -11091,7 +11112,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of thetag in storage.
+// this fingerprint must match the fingerprint of thetag
+// in storage.
 func (c *AccountsContainersWorkspacesTagsRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTagsRevertCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -11131,7 +11153,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:revert")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -11183,6 +11205,7 @@
 	return ret, nil
 	// {
 	//   "description": "Reverts changes to a GTM Tag in a GTM Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}:revert",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.tags.revert",
 	//   "parameterOrder": [
@@ -11190,18 +11213,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of thetag in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of thetag\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
+	//       "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:revert",
+	//   "path": "tagmanager/v2/{+path}:revert",
 	//   "response": {
 	//     "$ref": "RevertTagResponse"
 	//   },
@@ -11232,7 +11256,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the tag in storage.
+// this fingerprint must match the fingerprint of the tag in
+// storage.
 func (c *AccountsContainersWorkspacesTagsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTagsUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -11277,7 +11302,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -11329,6 +11354,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Tag.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.workspaces.tags.update",
 	//   "parameterOrder": [
@@ -11336,18 +11362,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the tag in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the tag in\nstorage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
+	//       "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "Tag"
 	//   },
@@ -11419,7 +11446,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/templates")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/templates")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -11471,6 +11498,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Custom Template.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.templates.create",
 	//   "parameterOrder": [
@@ -11478,13 +11506,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/templates",
+	//   "path": "tagmanager/v2/{+parent}/templates",
 	//   "request": {
 	//     "$ref": "CustomTemplate"
 	//   },
@@ -11549,7 +11578,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -11576,6 +11605,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Template.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.workspaces.templates.delete",
 	//   "parameterOrder": [
@@ -11583,13 +11613,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
+	//       "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -11662,7 +11693,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -11714,6 +11745,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Template.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.templates.get",
 	//   "parameterOrder": [
@@ -11721,13 +11753,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
+	//       "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "CustomTemplate"
 	//   },
@@ -11811,7 +11844,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/templates")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/templates")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -11863,6 +11896,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Templates of a GTM container workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.templates.list",
 	//   "parameterOrder": [
@@ -11875,13 +11909,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/templates",
+	//   "path": "tagmanager/v2/{+parent}/templates",
 	//   "response": {
 	//     "$ref": "ListTemplatesResponse"
 	//   },
@@ -11932,8 +11967,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the template in
-// storage.
+// this fingerprint must match the fingerprint of the template
+// in storage.
 func (c *AccountsContainersWorkspacesTemplatesRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTemplatesRevertCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -11973,7 +12008,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:revert")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -12025,6 +12060,7 @@
 	return ret, nil
 	// {
 	//   "description": "Reverts changes to a GTM Template in a GTM Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}:revert",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.templates.revert",
 	//   "parameterOrder": [
@@ -12032,18 +12068,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the template in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the template\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
+	//       "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:revert",
+	//   "path": "tagmanager/v2/{+path}:revert",
 	//   "response": {
 	//     "$ref": "RevertTemplateResponse"
 	//   },
@@ -12074,8 +12111,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the templates in
-// storage.
+// this fingerprint must match the fingerprint of the templates
+// in storage.
 func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTemplatesUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -12120,7 +12157,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -12172,6 +12209,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Template.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.workspaces.templates.update",
 	//   "parameterOrder": [
@@ -12179,18 +12217,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the templates in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the templates\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Custom Template's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
+	//       "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "CustomTemplate"
 	//   },
@@ -12262,7 +12301,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/triggers")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/triggers")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -12314,6 +12353,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Trigger.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.triggers.create",
 	//   "parameterOrder": [
@@ -12321,13 +12361,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Workspaces's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspaces's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/triggers",
+	//   "path": "tagmanager/v2/{+parent}/triggers",
 	//   "request": {
 	//     "$ref": "Trigger"
 	//   },
@@ -12392,7 +12433,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -12419,6 +12460,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Trigger.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.workspaces.triggers.delete",
 	//   "parameterOrder": [
@@ -12426,13 +12468,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
+	//       "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -12505,7 +12548,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -12557,6 +12600,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Trigger.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.triggers.get",
 	//   "parameterOrder": [
@@ -12564,13 +12608,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
+	//       "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "Trigger"
 	//   },
@@ -12654,7 +12699,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/triggers")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/triggers")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -12706,6 +12751,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Triggers of a Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.triggers.list",
 	//   "parameterOrder": [
@@ -12718,13 +12764,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Workspaces's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspaces's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/triggers",
+	//   "path": "tagmanager/v2/{+parent}/triggers",
 	//   "response": {
 	//     "$ref": "ListTriggersResponse"
 	//   },
@@ -12775,8 +12822,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the trigger in
-// storage.
+// this fingerprint must match the fingerprint of the trigger
+// in storage.
 func (c *AccountsContainersWorkspacesTriggersRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTriggersRevertCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -12816,7 +12863,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:revert")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -12868,6 +12915,7 @@
 	return ret, nil
 	// {
 	//   "description": "Reverts changes to a GTM Trigger in a GTM Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}:revert",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.triggers.revert",
 	//   "parameterOrder": [
@@ -12875,18 +12923,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the trigger in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the trigger\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
+	//       "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:revert",
+	//   "path": "tagmanager/v2/{+path}:revert",
 	//   "response": {
 	//     "$ref": "RevertTriggerResponse"
 	//   },
@@ -12917,8 +12966,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the trigger in
-// storage.
+// this fingerprint must match the fingerprint of the trigger
+// in storage.
 func (c *AccountsContainersWorkspacesTriggersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTriggersUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -12963,7 +13012,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -13015,6 +13064,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Trigger.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.workspaces.triggers.update",
 	//   "parameterOrder": [
@@ -13022,18 +13072,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the trigger in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the trigger\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
+	//       "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "Trigger"
 	//   },
@@ -13105,7 +13156,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/variables")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/variables")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -13157,6 +13208,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Variable.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.variables.create",
 	//   "parameterOrder": [
@@ -13164,13 +13216,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/variables",
+	//   "path": "tagmanager/v2/{+parent}/variables",
 	//   "request": {
 	//     "$ref": "Variable"
 	//   },
@@ -13235,7 +13288,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -13262,6 +13315,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Variable.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.workspaces.variables.delete",
 	//   "parameterOrder": [
@@ -13269,13 +13323,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
+	//       "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -13348,7 +13403,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -13400,6 +13455,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Variable.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.variables.get",
 	//   "parameterOrder": [
@@ -13407,13 +13463,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
+	//       "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "Variable"
 	//   },
@@ -13497,7 +13554,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/variables")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/variables")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -13549,6 +13606,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Variables of a Container.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.variables.list",
 	//   "parameterOrder": [
@@ -13561,13 +13619,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/variables",
+	//   "path": "tagmanager/v2/{+parent}/variables",
 	//   "response": {
 	//     "$ref": "ListVariablesResponse"
 	//   },
@@ -13618,8 +13677,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the variable in
-// storage.
+// this fingerprint must match the fingerprint of the variable
+// in storage.
 func (c *AccountsContainersWorkspacesVariablesRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesVariablesRevertCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -13659,7 +13718,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:revert")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -13711,6 +13770,7 @@
 	return ret, nil
 	// {
 	//   "description": "Reverts changes to a GTM Variable in a GTM Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}:revert",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.variables.revert",
 	//   "parameterOrder": [
@@ -13718,18 +13778,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the variable in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the variable\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
+	//       "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:revert",
+	//   "path": "tagmanager/v2/{+path}:revert",
 	//   "response": {
 	//     "$ref": "RevertVariableResponse"
 	//   },
@@ -13760,8 +13821,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the variable in
-// storage.
+// this fingerprint must match the fingerprint of the variable
+// in storage.
 func (c *AccountsContainersWorkspacesVariablesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesVariablesUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -13806,7 +13867,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -13858,6 +13919,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Variable.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.workspaces.variables.update",
 	//   "parameterOrder": [
@@ -13865,18 +13927,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the variable in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the variable\nin storage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
+	//       "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "Variable"
 	//   },
@@ -13948,7 +14011,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/zones")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/zones")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -14000,6 +14063,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a GTM Zone.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.zones.create",
 	//   "parameterOrder": [
@@ -14007,13 +14071,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/zones",
+	//   "path": "tagmanager/v2/{+parent}/zones",
 	//   "request": {
 	//     "$ref": "Zone"
 	//   },
@@ -14078,7 +14143,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -14105,6 +14170,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a GTM Zone.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.containers.workspaces.zones.delete",
 	//   "parameterOrder": [
@@ -14112,13 +14178,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
+	//       "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
 	//   ]
@@ -14191,7 +14258,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -14243,6 +14310,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a GTM Zone.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.zones.get",
 	//   "parameterOrder": [
@@ -14250,13 +14318,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
+	//       "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "Zone"
 	//   },
@@ -14340,7 +14409,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/zones")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/zones")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -14392,6 +14461,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists all GTM Zones of a GTM container workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.containers.workspaces.zones.list",
 	//   "parameterOrder": [
@@ -14404,13 +14474,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
+	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/zones",
+	//   "path": "tagmanager/v2/{+parent}/zones",
 	//   "response": {
 	//     "$ref": "ListZonesResponse"
 	//   },
@@ -14461,7 +14532,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the zone in storage.
+// this fingerprint must match the fingerprint of the zone in
+// storage.
 func (c *AccountsContainersWorkspacesZonesRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesZonesRevertCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -14501,7 +14573,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}:revert")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -14553,6 +14625,7 @@
 	return ret, nil
 	// {
 	//   "description": "Reverts changes to a GTM Zone in a GTM Workspace.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}:revert",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.containers.workspaces.zones.revert",
 	//   "parameterOrder": [
@@ -14560,18 +14633,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the zone in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the zone in\nstorage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
+	//       "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}:revert",
+	//   "path": "tagmanager/v2/{+path}:revert",
 	//   "response": {
 	//     "$ref": "RevertZoneResponse"
 	//   },
@@ -14602,7 +14676,8 @@
 }
 
 // Fingerprint sets the optional parameter "fingerprint": When provided,
-// this fingerprint must match the fingerprint of the zone in storage.
+// this fingerprint must match the fingerprint of the zone in
+// storage.
 func (c *AccountsContainersWorkspacesZonesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesZonesUpdateCall {
 	c.urlParams_.Set("fingerprint", fingerprint)
 	return c
@@ -14647,7 +14722,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -14699,6 +14774,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a GTM Zone.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.containers.workspaces.zones.update",
 	//   "parameterOrder": [
@@ -14706,18 +14782,19 @@
 	//   ],
 	//   "parameters": {
 	//     "fingerprint": {
-	//       "description": "When provided, this fingerprint must match the fingerprint of the zone in storage.",
+	//       "description": "When provided, this fingerprint must match the fingerprint of the zone in\nstorage.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "path": {
-	//       "description": "GTM Zone's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
+	//       "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "Zone"
 	//   },
@@ -14789,7 +14866,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/user_permissions")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/user_permissions")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -14841,6 +14918,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a user's Account \u0026 Container access.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions",
 	//   "httpMethod": "POST",
 	//   "id": "tagmanager.accounts.user_permissions.create",
 	//   "parameterOrder": [
@@ -14848,13 +14926,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "GTM Account's API relative path. Example: accounts/{account_id}",
+	//       "description": "GTM Account's API relative path.\nExample: accounts/{account_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/user_permissions",
+	//   "path": "tagmanager/v2/{+parent}/user_permissions",
 	//   "request": {
 	//     "$ref": "UserPermission"
 	//   },
@@ -14879,7 +14958,8 @@
 }
 
 // Delete: Removes a user from the account, revoking access to it and
-// all of its containers.
+// all of its
+// containers.
 func (r *AccountsUserPermissionsService) Delete(path string) *AccountsUserPermissionsDeleteCall {
 	c := &AccountsUserPermissionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.path = path
@@ -14920,7 +15000,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -14946,7 +15026,8 @@
 	}
 	return nil
 	// {
-	//   "description": "Removes a user from the account, revoking access to it and all of its containers.",
+	//   "description": "Removes a user from the account, revoking access to it and all of its\ncontainers.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "tagmanager.accounts.user_permissions.delete",
 	//   "parameterOrder": [
@@ -14954,13 +15035,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id}",
+	//       "description": "GTM UserPermission's API relative path.\nExample: accounts/{account_id}/user_permissions/{user_permission_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/user_permissions/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/tagmanager.manage.users"
 	//   ]
@@ -15033,7 +15115,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -15085,6 +15167,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a user's Account \u0026 Container access.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.user_permissions.get",
 	//   "parameterOrder": [
@@ -15092,13 +15175,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id}",
+	//       "description": "GTM UserPermission's API relative path.\nExample: accounts/{account_id}/user_permissions/{user_permission_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/user_permissions/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "response": {
 	//     "$ref": "UserPermission"
 	//   },
@@ -15121,7 +15205,8 @@
 }
 
 // List: List all users that have access to the account along with
-// Account and Container user access granted to each of them.
+// Account and
+// Container user access granted to each of them.
 func (r *AccountsUserPermissionsService) List(parent string) *AccountsUserPermissionsListCall {
 	c := &AccountsUserPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -15182,7 +15267,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+parent}/user_permissions")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/user_permissions")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -15233,7 +15318,8 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "List all users that have access to the account along with Account and Container user access granted to each of them.",
+	//   "description": "List all users that have access to the account along with Account and\nContainer user access granted to each of them.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions",
 	//   "httpMethod": "GET",
 	//   "id": "tagmanager.accounts.user_permissions.list",
 	//   "parameterOrder": [
@@ -15246,13 +15332,14 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "GTM Accounts's API relative path. Example: accounts/{account_id}",
+	//       "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+parent}/user_permissions",
+	//   "path": "tagmanager/v2/{+parent}/user_permissions",
 	//   "response": {
 	//     "$ref": "ListUserPermissionsResponse"
 	//   },
@@ -15342,7 +15429,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PUT", urls, body)
 	if err != nil {
@@ -15394,6 +15481,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a user's Account \u0026 Container access.",
+	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "tagmanager.accounts.user_permissions.update",
 	//   "parameterOrder": [
@@ -15401,13 +15489,14 @@
 	//   ],
 	//   "parameters": {
 	//     "path": {
-	//       "description": "GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id}",
+	//       "description": "GTM UserPermission's API relative path.\nExample: accounts/{account_id}/user_permissions/{user_permission_id}",
 	//       "location": "path",
+	//       "pattern": "^accounts/[^/]+/user_permissions/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "{+path}",
+	//   "path": "tagmanager/v2/{+path}",
 	//   "request": {
 	//     "$ref": "UserPermission"
 	//   },