feat(cloudcommerceprocurement): regenerate cloudcommerceprocurement v1 (#641)

This client is not in the public listing and was generated by hand.
Regened by manually invoking the generator with the provided schema.
diff --git a/cloudcommerceprocurement/v1/cloudcommerceprocurement-api.json b/cloudcommerceprocurement/v1/cloudcommerceprocurement-api.json
index 2f70f5c..aa2570d 100644
--- a/cloudcommerceprocurement/v1/cloudcommerceprocurement-api.json
+++ b/cloudcommerceprocurement/v1/cloudcommerceprocurement-api.json
@@ -1,36 +1,277 @@
 {
+  "kind": "discovery#restDescription",
+  "discoveryVersion": "v1",
+  "id": "cloudcommerceprocurement:v1",
+  "name": "cloudcommerceprocurement",
+  "canonicalName": "Cloud Commerce Partner Procurement Service",
+  "version": "v1",
+  "revision": "20200826",
+  "title": "Cloud Commerce Partner Procurement API",
+  "description": "Partner API for the Cloud Commerce Procurement Service.",
+  "ownerDomain": "google.com",
+  "ownerName": "Google",
+  "icons": {
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
+   },
+  "documentationLink": "https://cloud.google.com/marketplace/docs/partners/",
+  "protocol": "rest",
+  "rootUrl": "https://cloudcommerceprocurement.googleapis.com/",
+  "mtlsRootUrl": "https://cloudcommerceprocurement.mtls.googleapis.com/",
+  "servicePath": "",
+  "baseUrl": "https://cloudcommerceprocurement.googleapis.com/",
+  "batchPath": "batch",
   "version_module": true,
+  "fullyEncodeReservedExpansion": true,
+  "parameters": {
+    "access_token": {
+      "type": "string",
+      "description": "OAuth access token.",
+      "location": "query"
+    },
+    "alt": {
+      "type": "string",
+      "description": "Data format for response.",
+      "default": "json",
+      "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"
+    },
+    "callback": {
+      "type": "string",
+      "description": "JSONP",
+      "location": "query"
+    },
+    "fields": {
+      "type": "string",
+      "description": "Selector specifying which fields to include in a partial response.",
+      "location": "query"
+    },
+    "key": {
+      "type": "string",
+      "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"
+    },
+    "oauth_token": {
+      "type": "string",
+      "description": "OAuth 2.0 token for the current user.",
+      "location": "query"
+    },
+    "prettyPrint": {
+      "type": "boolean",
+      "description": "Returns response with indentations and line breaks.",
+      "default": "true",
+      "location": "query"
+    },
+    "quotaUser": {
+      "type": "string",
+      "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"
+    },
+    "upload_protocol": {
+      "type": "string",
+      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
+      "location": "query"
+    },
+    "uploadType": {
+      "type": "string",
+      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+      "location": "query"
+    },
+    "$.xgafv": {
+      "type": "string",
+      "description": "V1 error format.",
+      "enum": [
+        "1",
+        "2"
+      ],
+      "enumDescriptions": [
+        "v1 error format",
+        "v2 error format"
+      ],
+      "location": "query"
+    }
+  },
+  "auth": {
+    "oauth2": {
+      "scopes": {
+        "https://www.googleapis.com/auth/cloud-platform": {
+          "description": "View and manage your data across Google Cloud Platform services"
+        }
+      }
+    }
+  },
   "schemas": {
-    "ApproveEntitlementRequest": {
-      "id": "ApproveEntitlementRequest",
-      "description": "Request message for [PartnerProcurementService.ApproveEntitlement[].",
+    "ListAccountsResponse": {
+      "id": "ListAccountsResponse",
+      "description": "Response message for [PartnerProcurementService.ListAccounts[].",
       "type": "object",
       "properties": {
-        "properties": {
-          "additionalProperties": {
-            "type": "string"
-          },
-          "description": "Set of properties that should be associated with the entitlement.\nOptional.",
-          "type": "object"
+        "accounts": {
+          "description": "The list of accounts in this response.",
+          "type": "array",
+          "items": {
+            "$ref": "Account"
+          }
+        },
+        "nextPageToken": {
+          "description": "The token for fetching the next page.",
+          "type": "string"
         }
       }
     },
-    "RejectEntitlementPlanChangeRequest": {
-      "description": "Request message for\nPartnerProcurementService.RejectEntitlementPlanChange.",
+    "Account": {
+      "id": "Account",
+      "description": "Represents an account that was established by the customer on the service provider's system.",
       "type": "object",
       "properties": {
-        "reason": {
-          "type": "string",
-          "description": "Free form text string explaining the rejection reason.\n\nMax allowed length: 256 bytes. Longer strings will be truncated."
+        "name": {
+          "description": "Output only. The resource name of the account. Account names have the form `accounts\/{account_id}`.",
+          "type": "string"
         },
-        "pendingPlanName": {
-          "description": "Name of the pending plan that is being rejected.\nRequired.",
+        "updateTime": {
+          "description": "Output only. The last update timestamp.",
+          "type": "string",
+          "format": "google-datetime"
+        },
+        "createTime": {
+          "description": "Output only. The creation timestamp.",
+          "type": "string",
+          "format": "google-datetime"
+        },
+        "provider": {
+          "description": "Output only. The identifier of the service provider that this account was created against. Each service provider is assigned a unique provider value when they onboard with Cloud Commerce platform.",
+          "type": "string"
+        },
+        "state": {
+          "description": "Output only. The state of the account. This is used to decide whether the customer is in good standing with the provider and is able to make purchases. An account might not be able to make a purchase if the billing account is suspended, for example.",
+          "type": "string",
+          "enumDescriptions": [
+            "Sentinel value, do not use.",
+            "The customer has requested the creation of the account resource, and the provider notification message is dispatched. This state has been deprecated, as accounts now immediately transition to AccountState.ACCOUNT_ACTIVE.",
+            "The account is active and ready for use. The next possible states are: - Account getting deleted: After the user invokes delete from another API."
+          ],
+          "enum": [
+            "ACCOUNT_STATE_UNSPECIFIED",
+            "ACCOUNT_ACTIVATION_REQUESTED",
+            "ACCOUNT_ACTIVE"
+          ]
+        },
+        "inputProperties": {
+          "description": "Output only. The custom properties that were collected from the user to create this account.",
+          "type": "object",
+          "additionalProperties": {
+            "type": "any",
+            "description": "Properties of the object."
+          }
+        },
+        "approvals": {
+          "description": "Output only. The approvals for this account. These approvals are used to track actions that are permitted or have been completed by a customer within the context of the provider. This might include a sign up flow or a provisioning step, for example, that the provider can admit to having happened.",
+          "type": "array",
+          "items": {
+            "$ref": "Approval"
+          }
+        }
+      }
+    },
+    "Approval": {
+      "id": "Approval",
+      "description": "An approval for some action on an account.",
+      "type": "object",
+      "properties": {
+        "name": {
+          "description": "Output only. The name of the approval.",
+          "type": "string"
+        },
+        "state": {
+          "description": "Output only. The state of the approval.",
+          "type": "string",
+          "enumDescriptions": [
+            "Sentinel value; do not use.",
+            "The approval is pending response from the provider. The approval state can transition to Account.Approval.State.APPROVED or Account.Approval.State.REJECTED.",
+            "The approval has been granted by the provider.",
+            "The approval has been rejected by the provider. A provider may choose to approve a previously rejected approval, so is it possible to transition to Account.Approval.State.APPROVED."
+          ],
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "PENDING",
+            "APPROVED",
+            "REJECTED"
+          ]
+        },
+        "reason": {
+          "description": "Output only. An explanation for the state of the approval.",
+          "type": "string"
+        },
+        "updateTime": {
+          "description": "Optional. The last update timestamp of the approval.",
+          "type": "string",
+          "format": "google-datetime"
+        }
+      }
+    },
+    "ApproveAccountRequest": {
+      "id": "ApproveAccountRequest",
+      "description": "Request message for PartnerProcurementService.ApproveAccount.",
+      "type": "object",
+      "properties": {
+        "properties": {
+          "description": "Set of properties that should be associated with the account. Optional.",
+          "type": "object",
+          "additionalProperties": {
+            "type": "string"
+          }
+        },
+        "approvalName": {
+          "description": "The name of the approval being approved. If absent and there is only one approval possible, that approval will be granted. If absent and there are many approvals possible, the request will fail with a 400 Bad Request. Optional.",
+          "type": "string"
+        },
+        "reason": {
+          "description": "Free form text string explaining the approval reason. Optional. Max allowed length: 256 bytes. Longer strings will be truncated.",
           "type": "string"
         }
-      },
-      "id": "RejectEntitlementPlanChangeRequest"
+      }
+    },
+    "Empty": {
+      "id": "Empty",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
+      "type": "object",
+      "properties": {
+      }
+    },
+    "RejectAccountRequest": {
+      "id": "RejectAccountRequest",
+      "description": "Request message for PartnerProcurementService.RejectAccount.",
+      "type": "object",
+      "properties": {
+        "approvalName": {
+          "description": "The name of the approval being rejected. If absent and there is only one approval possible, that approval will be rejected. If absent and there are many approvals possible, the request will fail with a 400 Bad Request. Optional.",
+          "type": "string"
+        },
+        "reason": {
+          "description": "Free form text string explaining the rejection reason. Max allowed length: 256 bytes. Longer strings will be truncated.",
+          "type": "string"
+        }
+      }
+    },
+    "ResetAccountRequest": {
+      "id": "ResetAccountRequest",
+      "description": "Request message for for PartnerProcurementService.ResetAccount.",
+      "type": "object",
+      "properties": {
+      }
     },
     "ListEntitlementsResponse": {
+      "id": "ListEntitlementsResponse",
+      "description": "Response message for PartnerProcurementService.ListEntitlements.",
       "type": "object",
       "properties": {
         "entitlements": {
@@ -44,133 +285,59 @@
           "description": "The token for fetching the next page.",
           "type": "string"
         }
-      },
-      "id": "ListEntitlementsResponse",
-      "description": "Response message for PartnerProcurementService.ListEntitlements."
-    },
-    "RejectEntitlementRequest": {
-      "type": "object",
-      "properties": {
-        "reason": {
-          "description": "Free form text string explaining the rejection reason.\n\nMax allowed length: 256 bytes. Longer strings will be truncated.",
-          "type": "string"
-        }
-      },
-      "id": "RejectEntitlementRequest",
-      "description": "Request message for PartnerProcurementService.RejectEntitlement."
-    },
-    "ApproveAccountRequest": {
-      "description": "Request message for PartnerProcurementService.ApproveAccount.",
-      "type": "object",
-      "properties": {
-        "reason": {
-          "type": "string",
-          "description": "Free form text string explaining the approval reason.\nOptional.\n\nMax allowed length: 256 bytes. Longer strings will be truncated."
-        },
-        "approvalName": {
-          "description": "The name of the approval being approved. If absent and there is only one\napproval possible, that approval will be granted. If absent and there are\nmany approvals possible, the request will fail with a 400 Bad Request.\nOptional.",
-          "type": "string"
-        },
-        "properties": {
-          "additionalProperties": {
-            "type": "string"
-          },
-          "description": "Set of properties that should be associated with the account.\nOptional.",
-          "type": "object"
-        }
-      },
-      "id": "ApproveAccountRequest"
-    },
-    "ListAccountsResponse": {
-      "type": "object",
-      "properties": {
-        "nextPageToken": {
-          "description": "The token for fetching the next page.",
-          "type": "string"
-        },
-        "accounts": {
-          "description": "The list of accounts in this response.",
-          "type": "array",
-          "items": {
-            "$ref": "Account"
-          }
-        }
-      },
-      "id": "ListAccountsResponse",
-      "description": "Response message for [PartnerProcurementService.ListAccounts[]."
-    },
-    "SuspendEntitlementRequest": {
-      "description": "Request message for ParterProcurementService.SuspendEntitlement. This is\nnot yet supported.",
-      "type": "object",
-      "properties": {
-        "reason": {
-          "description": "A free-form reason string, explaining the reason for suspension request.",
-          "type": "string"
-        }
-      },
-      "id": "SuspendEntitlementRequest"
-    },
-    "Approval": {
-      "description": "An approval for some action on an account.",
-      "type": "object",
-      "properties": {
-        "state": {
-          "description": "Output only. The state of the approval.",
-          "type": "string",
-          "enumDescriptions": [
-            "Sentinel value; do not use.",
-            "The approval is pending response from the provider.\n\nThe approval state can transition to\nAccount.Approval.State.APPROVED or\nAccount.Approval.State.REJECTED.",
-            "The approval has been granted by the provider.",
-            "The approval has been rejected by the provider.\n\nA provider may choose to approve a previously rejected approval, so\nis it possible to transition to Account.Approval.State.APPROVED."
-          ],
-          "enum": [
-            "STATE_UNSPECIFIED",
-            "PENDING",
-            "APPROVED",
-            "REJECTED"
-          ]
-        },
-        "updateTime": {
-          "description": "Optional. The last update timestamp of the approval.",
-          "format": "google-datetime",
-          "type": "string"
-        },
-        "name": {
-          "type": "string",
-          "description": "Output only. The name of the approval."
-        },
-        "reason": {
-          "type": "string",
-          "description": "Output only. An explanation for the state of the approval."
-        }
-      },
-      "id": "Approval"
+      }
     },
     "Entitlement": {
       "id": "Entitlement",
-      "description": "Represents a procured product of a customer.",
+      "description": "Represents a procured product of a customer. Next Id: 17",
       "type": "object",
       "properties": {
-        "inputProperties": {
-          "additionalProperties": {
-            "description": "Properties of the object.",
-            "type": "any"
-          },
-          "description": "Output only. The custom properties that were collected from the user to create this\nentitlement.",
-          "type": "object"
+        "name": {
+          "description": "Output only. The resource name of the entitlement. Entitlement names have the form `providers\/{provider_id}\/entitlements\/{entitlement_id}`.",
+          "type": "string"
+        },
+        "account": {
+          "description": "Output only. The resource name of the account that this entitlement is based on, if any.",
+          "type": "string"
+        },
+        "provider": {
+          "description": "Output only. The identifier of the service provider that this entitlement was created against. Each service provider is assigned a unique provider value when they onboard with Cloud Commerce platform.",
+          "type": "string"
+        },
+        "product": {
+          "description": "Output only. The identifier of the entity that was purchased. This may actually represent a product or a quote.",
+          "type": "string"
+        },
+        "quoteExternalName": {
+          "description": "Output only. The identifier of the quote that was used to procure. Empty if the order is not purchased using a quote.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "productExternalName": {
+          "description": "Output only. The identifier of the product that was procured.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "plan": {
+          "description": "Output only. The identifier of the plan that was procured. Required if the product has plans.",
+          "type": "string"
+        },
+        "newPendingPlan": {
+          "description": "Output only. The identifier of the pending new plan. Required if the product has plans and the entitlement has a pending plan change.",
+          "type": "string"
         },
         "state": {
           "description": "Output only. The state of the entitlement.",
           "type": "string",
           "enumDescriptions": [
             "Sentinel value. Do not use.",
-            "Indicates that the entitlement is being created and the backend has sent\na notification to the provider for the activation approval.\n\nIf the provider approves, then the entitlement will transition to\nthe EntitlementState.ENTITLEMENT_ACTIVE state.\nOtherwise, the entitlement will be removed.\nPlan changes are not allowed in this state. Instead the entitlement is\ncancelled and re-created with a new plan name.",
-            "Indicates that the entitlement is active. The procured item is now usable\nand any associated billing events will start occurring.\n\nIn this state, the customer can decide to cancel the entitlement, which\nwould change the state to\nEntitlementState.ENTITLEMENT_PENDING_CANCELLATION, and then\nEntitlementState.ENTITLEMENT_CANCELLED.\n\nThe user can also request a change of plan, which will transition the\nstate to EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE, and\nthen back to EntitlementState.ENTITLEMENT_ACTIVE.",
-            "Indicates that the entitlement was cancelled by the customer.\nThe entitlement typically stays in this state if the entitlement/plan\nallows use of the underlying resource until the end of the current billing\ncycle. Once the billing cycle completes, the resource will transition to\nEntitlementState.ENTITLEMENT_CANCELLED state.\n\nThe resource cannot be modified during this state.",
-            "Indicates that the entitlement was cancelled. The entitlement can now\nbe deleted.",
-            "Indicates that the entitlement is currently active, but there is a pending\nplan change that is requested by the customer. The entitlement typically\nstays in this state, if the entitlement/plan requires the completion of the\ncurrent billing cycle before the plan can be changed. Once the billing\ncycle completes, the resource will transition to\nEntitlementState.ENTITLEMENT_ACTIVE, with its plan changed.",
-            "Indicates that the entitlement is currently active, but there is a plan\nchange request pending provider approval. If the provider approves the plan\nchange, then the entitlement will transition either to\nEntitlementState.ENTITLEMENT_ACTIVE or\nEntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE depending on whether\ncurrent plan requires that the billing cycle completes.\n\nIf the provider rejects the plan change, then the pending plan change\nrequest is removed and the entitlement stays in\nEntitlementState.ENTITLEMENT_ACTIVE state with the old plan.",
-            "Indicates that the entitlement is suspended either by Google or provider\nrequest.\n\nThis can be triggered for various external reasons (e.g. expiration of\ncredit card on the billing account, violation of terms-of-service of the\nprovider etc.). As such, any remediating action needs\nto be taken externally, before the entitlement can be activated.\n\nThis is not yet supported."
+            "Indicates that the entitlement is being created and the backend has sent a notification to the provider for the activation approval. If the provider approves, then the entitlement will transition to the EntitlementState.ENTITLEMENT_ACTIVE state. Otherwise, the entitlement will be removed. Plan changes are not allowed in this state. Instead the entitlement is cancelled and re-created with a new plan name.",
+            "Indicates that the entitlement is active. The procured item is now usable and any associated billing events will start occurring. In this state, the customer can decide to cancel the entitlement, which would change the state to EntitlementState.ENTITLEMENT_PENDING_CANCELLATION, and then EntitlementState.ENTITLEMENT_CANCELLED. The user can also request a change of plan, which will transition the state to EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE, and then back to EntitlementState.ENTITLEMENT_ACTIVE.",
+            "Indicates that the entitlement was cancelled by the customer. The entitlement typically stays in this state if the entitlement\/plan allows use of the underlying resource until the end of the current billing cycle. Once the billing cycle completes, the resource will transition to EntitlementState.ENTITLEMENT_CANCELLED state. The resource cannot be modified during this state.",
+            "Indicates that the entitlement was cancelled. The entitlement can now be deleted.",
+            "Indicates that the entitlement is currently active, but there is a pending plan change that is requested by the customer. The entitlement typically stays in this state, if the entitlement\/plan requires the completion of the current billing cycle before the plan can be changed. Once the billing cycle completes, the resource will transition to EntitlementState.ENTITLEMENT_ACTIVE, with its plan changed.",
+            "Indicates that the entitlement is currently active, but there is a plan change request pending provider approval. If the provider approves the plan change, then the entitlement will transition either to EntitlementState.ENTITLEMENT_ACTIVE or EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE depending on whether current plan requires that the billing cycle completes. If the provider rejects the plan change, then the pending plan change request is removed and the entitlement stays in EntitlementState.ENTITLEMENT_ACTIVE state with the old plan.",
+            "Indicates that the entitlement is suspended either by Google or provider request. This can be triggered for various external reasons (e.g. expiration of credit card on the billing account, violation of terms-of-service of the provider etc.). As such, any remediating action needs to be taken externally, before the entitlement can be activated. This is not yet supported."
           ],
           "enum": [
             "ENTITLEMENT_STATE_UNSPECIFIED",
@@ -183,649 +350,519 @@
             "ENTITLEMENT_SUSPENDED"
           ]
         },
-        "name": {
-          "description": "Output only. The resource name of the entitlement.\nEntitlement names have the form `entitlements/{entitlement_id}`.",
-          "type": "string"
-        },
-        "product": {
-          "description": "Output only. The identifier of the product that was procured.",
-          "type": "string"
-        },
-        "provider": {
-          "description": "Output only. The identifier of the service provider that this entitlement was created\nagainst. Each service provider is assigned a unique provider value when\nthey onboard with Cloud Commerce platform.",
-          "type": "string"
-        },
-        "createTime": {
-          "description": "Output only. The creation timestamp.",
-          "format": "google-datetime",
-          "type": "string"
+        "inputProperties": {
+          "description": "Output only. The custom properties that were collected from the user to create this entitlement.",
+          "type": "object",
+          "additionalProperties": {
+            "type": "any",
+            "description": "Properties of the object."
+          }
         },
         "updateTime": {
           "description": "Output only. The last update timestamp.",
-          "format": "google-datetime",
-          "type": "string"
+          "type": "string",
+          "format": "google-datetime"
         },
-        "newPendingPlan": {
-          "description": "Output only. The identifier of the pending new plan.\nRequired if the product has plans and the entitlement has a pending plan\nchange.",
-          "type": "string"
+        "createTime": {
+          "description": "Output only. The creation timestamp.",
+          "type": "string",
+          "format": "google-datetime"
         },
         "usageReportingId": {
-          "description": "Output only. The consumerId to use when reporting usage through the Service Control API.\nSee the consumerId field at\n[Reporting\nMetrics](https://cloud.google.com/service-control/reporting-metrics) for\nmore details.\n\nThis field is present only if the product has usage-based billing\nconfigured.",
+          "description": "Output only. The consumerId to use when reporting usage through the Service Control API. See the consumerId field at [Reporting Metrics](https:\/\/cloud.google.com\/service-control\/reporting-metrics) for more details. This field is present only if the product has usage-based billing configured.",
           "type": "string"
         },
         "messageToUser": {
-          "description": "Provider-supplied message that is displayed to the end user. Currently this\nis used to communicate progress and ETA for provisioning.\nThis field can be updated only when a user is waiting for an action from\nthe provider, i.e. entitlement state is\nEntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED or\nEntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL.\n\nThis field is cleared automatically when the enitlement state changes.",
+          "description": "Provider-supplied message that is displayed to the end user. Currently this is used to communicate progress and ETA for provisioning. This field can be updated only when a user is waiting for an action from the provider, i.e. entitlement state is EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED or EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL. This field is cleared automatically when the entitlement state changes.",
           "type": "string"
         },
-        "plan": {
-          "type": "string",
-          "description": "Output only. The identifier of the plan that was procured.\nRequired if the product has plans."
+        "consumers": {
+          "description": "Output only. The resources using this entitlement, if applicable.",
+          "type": "array",
+          "items": {
+            "$ref": "Consumer"
+          }
         },
-        "account": {
-          "description": "Output only. The resource name of the account that this entitlement is based on, if any.",
+        "subscriptionEndTime": {
+          "description": "Output only. End time for the subscription corresponding to this entitlement.",
+          "readOnly": true,
+          "type": "string",
+          "format": "google-datetime"
+        }
+      }
+    },
+    "Consumer": {
+      "id": "Consumer",
+      "description": "A resource using (consuming) this entitlement.",
+      "type": "object",
+      "properties": {
+        "project": {
+          "description": "A project name with format `projects\/`.",
           "type": "string"
         }
       }
     },
-    "RejectAccountRequest": {
+    "ApproveEntitlementRequest": {
+      "id": "ApproveEntitlementRequest",
+      "description": "Request message for [PartnerProcurementService.ApproveEntitlement[].",
+      "type": "object",
+      "properties": {
+        "properties": {
+          "description": "Set of properties that should be associated with the entitlement. Optional.",
+          "type": "object",
+          "additionalProperties": {
+            "type": "string"
+          }
+        }
+      }
+    },
+    "RejectEntitlementRequest": {
+      "id": "RejectEntitlementRequest",
+      "description": "Request message for PartnerProcurementService.RejectEntitlement.",
       "type": "object",
       "properties": {
         "reason": {
-          "type": "string",
-          "description": "Free form text string explaining the rejection reason.\n\nMax allowed length: 256 bytes. Longer strings will be truncated."
-        },
-        "approvalName": {
-          "description": "The name of the approval being rejected. If absent and there is only one\napproval possible, that approval will be rejected. If absent and there are\nmany approvals possible, the request will fail with a 400 Bad Request.\nOptional.",
+          "description": "Free form text string explaining the rejection reason. Max allowed length: 256 bytes. Longer strings will be truncated.",
           "type": "string"
         }
-      },
-      "id": "RejectAccountRequest",
-      "description": "Request message for PartnerProcurementService.RejectAccount."
-    },
-    "Account": {
-      "id": "Account",
-      "description": "Represents an account that was established by the customer on the service\nprovider's system.",
-      "type": "object",
-      "properties": {
-        "provider": {
-          "description": "Output only. The identifier of the service provider that this account was created\nagainst. Each service provider is assigned a unique provider value when\nthey onboard with Cloud Commerce platform.",
-          "type": "string"
-        },
-        "createTime": {
-          "description": "Output only. The creation timestamp.",
-          "format": "google-datetime",
-          "type": "string"
-        },
-        "updateTime": {
-          "type": "string",
-          "description": "Output only. The last update timestamp.",
-          "format": "google-datetime"
-        },
-        "state": {
-          "enumDescriptions": [
-            "Sentinel value, do not use.",
-            "The customer has requested the creation of the account resource, and\nthe provider notification message is dispatched.\n\nThis state has been deprecated, as accounts now immediately transition to\nAccountState.ACCOUNT_ACTIVE.",
-            "The account is active and ready for use.\n\nThe next possible states are:\n- Account getting deleted: After the user invokes delete from another API."
-          ],
-          "enum": [
-            "ACCOUNT_STATE_UNSPECIFIED",
-            "ACCOUNT_ACTIVATION_REQUESTED",
-            "ACCOUNT_ACTIVE"
-          ],
-          "description": "Output only. The state of the account. This is used to decide whether the customer is in\ngood standing with the provider and is able to make purchases. An account\nmight not be able to make a purchase if the billing account is suspended,\nfor example.",
-          "type": "string"
-        },
-        "name": {
-          "description": "Output only. The resource name of the account.\nAccount names have the form `accounts/{account_id}`.",
-          "type": "string"
-        },
-        "approvals": {
-          "description": "Output only. The approvals for this account. These approvals are used to track actions\nthat are permitted or have been completed by a customer within the context\nof the provider. This might include a sign up flow or a provisioning step,\nfor example, that the provider can admit to having happened.",
-          "type": "array",
-          "items": {
-            "$ref": "Approval"
-          }
-        },
-        "inputProperties": {
-          "additionalProperties": {
-            "description": "Properties of the object.",
-            "type": "any"
-          },
-          "description": "Output only. The custom properties that were collected from the user to create this\naccount.",
-          "type": "object"
-        }
       }
     },
     "ApproveEntitlementPlanChangeRequest": {
       "id": "ApproveEntitlementPlanChangeRequest",
-      "description": "Request message for\n[PartnerProcurementService.ApproveEntitlementPlanChange[].",
+      "description": "Request message for [PartnerProcurementService.ApproveEntitlementPlanChange[].",
       "type": "object",
       "properties": {
         "pendingPlanName": {
-          "type": "string",
-          "description": "Name of the pending plan that is being approved.\nRequired."
+          "description": "Name of the pending plan that is being approved. Required.",
+          "type": "string"
         }
       }
     },
-    "ResetAccountRequest": {
-      "description": "Request message for for PartnerProcurementService.ResetAccount.",
+    "RejectEntitlementPlanChangeRequest": {
+      "id": "RejectEntitlementPlanChangeRequest",
+      "description": "Request message for PartnerProcurementService.RejectEntitlementPlanChange.",
       "type": "object",
-      "properties": {},
-      "id": "ResetAccountRequest"
+      "properties": {
+        "reason": {
+          "description": "Free form text string explaining the rejection reason. Max allowed length: 256 bytes. Longer strings will be truncated.",
+          "type": "string"
+        },
+        "pendingPlanName": {
+          "description": "Name of the pending plan that is being rejected. Required.",
+          "type": "string"
+        }
+      }
     },
-    "Empty": {
+    "SuspendEntitlementRequest": {
+      "id": "SuspendEntitlementRequest",
+      "description": "Request message for ParterProcurementService.SuspendEntitlement. This is not yet supported.",
       "type": "object",
-      "properties": {},
-      "id": "Empty",
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`."
-    }
-  },
-  "icons": {
-    "x16": "http://www.google.com/images/icons/product/search-16.gif",
-    "x32": "http://www.google.com/images/icons/product/search-32.gif"
-  },
-  "protocol": "rest",
-  "canonicalName": "Cloud Commerce Partner Procurement Service",
-  "auth": {
-    "oauth2": {
-      "scopes": {
-        "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "View and manage your data across Google Cloud Platform services"
+      "properties": {
+        "reason": {
+          "description": "A free-form reason string, explaining the reason for suspension request.",
+          "type": "string"
         }
       }
     }
   },
-  "rootUrl": "https://cloudcommerceprocurement.googleapis.com/",
-  "ownerDomain": "google.com",
-  "name": "cloudcommerceprocurement",
-  "batchPath": "batch",
-  "fullyEncodeReservedExpansion": true,
-  "title": "Cloud Commerce Partner Procurement API",
-  "ownerName": "Google",
   "resources": {
     "providers": {
       "resources": {
-        "entitlements": {
+        "accounts": {
           "methods": {
-            "rejectPlanChange": {
-              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:rejectPlanChange",
-              "id": "cloudcommerceprocurement.providers.entitlements.rejectPlanChange",
-              "path": "v1/{+name}:rejectPlanChange",
-              "request": {
-                "$ref": "RejectEntitlementPlanChangeRequest"
-              },
-              "description": "Reject an entitlement plan change that is in the\nEntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state.\n\nThis method is invoked by the provider to reject the plan change on the\nentitlement resource.",
-              "httpMethod": "POST",
-              "parameterOrder": [
-                "name"
-              ],
-              "response": {
-                "$ref": "Empty"
-              },
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "parameters": {
-                "name": {
-                  "location": "path",
-                  "description": "The resource name of the entitlement.\nRequired.",
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/entitlements/[^/]+$"
-                }
-              }
-            },
             "list": {
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
+              "id": "cloudcommerceprocurement.providers.accounts.list",
+              "path": "v1/{+parent}/accounts",
+              "flatPath": "v1/providers/{providersId}/accounts",
+              "httpMethod": "GET",
               "parameters": {
                 "parent": {
-                  "location": "path",
                   "description": "The parent resource name.",
+                  "location": "path",
                   "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+$"
-                },
-                "filter": {
-                  "type": "string",
-                  "location": "query",
-                  "description": "The filter that can be used to limit the list request.\n\nThe filter is a query string that can match a selected set of attributes\nwith string values. For example `account=E-1234-5678-ABCD-EFGH`,\n`state=pending_cancellation`, and `product!=foo-product`. Supported\nquery attributes are\n\n* `account`\n* `product`\n* `plan`\n* `newPendingPlan` or `new_pending_plan`\n* `state`\n\nNote that the state name match is case-insensitive and query can omit the\nprefix \"ENTITLEMENT_\". For example, `state=active` is equivalent to\n`state=ENTITLEMENT_ACTIVE`.\n\nIf the query contains some special characters other than letters,\nunderscore, or digits, the phrase must be quoted with double quotes. For\nexample, `product=\"providerId:productId\"`, where the product name needs to\nbe quoted because it contains special character colon.\n\nQueries can be combined with `AND`, `OR`, and `NOT` to form more complex\nqueries. They can also be grouped to force a desired evaluation order.\nFor example, `state=active AND (account=E-1234 OR account=5678) AND NOT\n(product=foo-product)`. Connective `AND` can be omitted between two\npredicates. For example `account=E-1234 state=active` is equivalent to\n`account=E-1234 AND state=active`."
-                },
-                "pageToken": {
-                  "location": "query",
-                  "description": "The token for fetching the next page.",
+                  "pattern": "^providers\/[^\/]+$",
                   "type": "string"
                 },
                 "pageSize": {
+                  "description": "The maximum number of entries that are requested. Default size is 200.",
                   "location": "query",
-                  "description": "The maximum number of entries that are requested.",
-                  "format": "int32",
-                  "type": "integer"
+                  "type": "integer",
+                  "format": "int32"
+                },
+                "pageToken": {
+                  "description": "The token for fetching the next page.",
+                  "location": "query",
+                  "type": "string"
                 }
               },
-              "flatPath": "v1/providers/{providersId}/entitlements",
-              "path": "v1/{+parent}/entitlements",
-              "id": "cloudcommerceprocurement.providers.entitlements.list",
-              "description": "List Entitlements for which the provider has read access.",
-              "response": {
-                "$ref": "ListEntitlementsResponse"
-              },
               "parameterOrder": [
                 "parent"
               ],
-              "httpMethod": "GET"
-            },
-            "suspend": {
-              "httpMethod": "POST",
-              "parameterOrder": [
-                "name"
-              ],
-              "response": {
-                "$ref": "Empty"
-              },
-              "parameters": {
-                "name": {
-                  "description": "The name of the entitlement to suspend.",
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/entitlements/[^/]+$",
-                  "location": "path"
-                }
-              },
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:suspend",
-              "id": "cloudcommerceprocurement.providers.entitlements.suspend",
-              "path": "v1/{+name}:suspend",
-              "description": "Request suspension of an active Entitlement. This is not yet supported.",
-              "request": {
-                "$ref": "SuspendEntitlementRequest"
-              }
-            },
-            "approve": {
-              "httpMethod": "POST",
-              "parameterOrder": [
-                "name"
-              ],
-              "response": {
-                "$ref": "Empty"
-              },
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "parameters": {
-                "name": {
-                  "location": "path",
-                  "description": "The resource name of the entitlement.\nRequired.",
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/entitlements/[^/]+$"
-                }
-              },
-              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:approve",
-              "id": "cloudcommerceprocurement.providers.entitlements.approve",
-              "path": "v1/{+name}:approve",
-              "request": {
-                "$ref": "ApproveEntitlementRequest"
-              },
-              "description": "Approve an entitlement that is in the\nEntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state.\n\nThis method is invoked by the provider to approve the creation of the\nentitlement resource."
-            },
-            "patch": {
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "parameters": {
-                "name": {
-                  "location": "path",
-                  "description": "The name of the entitlement to update.",
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/entitlements/[^/]+$"
-                },
-                "updateMask": {
-                  "location": "query",
-                  "description": "The update mask that applies to the resource.\nSee the [FieldMask definition]\n(https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask)\nfor more details.",
-                  "format": "google-fieldmask",
-                  "type": "string"
-                }
-              },
-              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}",
-              "path": "v1/{+name}",
-              "id": "cloudcommerceprocurement.providers.entitlements.patch",
-              "request": {
-                "$ref": "Entitlement"
-              },
-              "description": "Updates an existing Entitlement.",
-              "response": {
-                "$ref": "Entitlement"
-              },
-              "parameterOrder": [
-                "name"
-              ],
-              "httpMethod": "PATCH"
-            },
-            "get": {
-              "response": {
-                "$ref": "Entitlement"
-              },
-              "parameterOrder": [
-                "name"
-              ],
-              "httpMethod": "GET",
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "parameters": {
-                "name": {
-                  "description": "The name of the entitlement to retrieve.",
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/entitlements/[^/]+$",
-                  "location": "path"
-                }
-              },
-              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}",
-              "path": "v1/{+name}",
-              "id": "cloudcommerceprocurement.providers.entitlements.get",
-              "description": "Get a requested Entitlement resource."
-            },
-            "reject": {
-              "path": "v1/{+name}:reject",
-              "id": "cloudcommerceprocurement.providers.entitlements.reject",
-              "request": {
-                "$ref": "RejectEntitlementRequest"
-              },
-              "description": "Reject an entitlement that is in the\nEntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state.\n\nThis method is invoked by the provider to reject the creation of the\nentitlement resource.",
-              "response": {
-                "$ref": "Empty"
-              },
-              "parameterOrder": [
-                "name"
-              ],
-              "httpMethod": "POST",
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "parameters": {
-                "name": {
-                  "location": "path",
-                  "description": "The resource name of the entitlement.\nRequired.",
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/entitlements/[^/]+$"
-                }
-              },
-              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:reject"
-            },
-            "approvePlanChange": {
-              "response": {
-                "$ref": "Empty"
-              },
-              "parameterOrder": [
-                "name"
-              ],
-              "httpMethod": "POST",
-              "parameters": {
-                "name": {
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/entitlements/[^/]+$",
-                  "location": "path",
-                  "description": "The resource name of the entitlement.\nRequired."
-                }
-              },
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:approvePlanChange",
-              "path": "v1/{+name}:approvePlanChange",
-              "id": "cloudcommerceprocurement.providers.entitlements.approvePlanChange",
-              "description": "Approve an entitlement plan change that is in the\nEntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state.\n\nThis method is invoked by the provider to approve the plan change on the\nentitlement resource.",
-              "request": {
-                "$ref": "ApproveEntitlementPlanChangeRequest"
-              }
-            }
-          }
-        },
-        "accounts": {
-          "methods": {
-            "approve": {
-              "request": {
-                "$ref": "ApproveAccountRequest"
-              },
-              "description": "Grant an approval on an Account.",
-              "httpMethod": "POST",
-              "parameterOrder": [
-                "name"
-              ],
-              "response": {
-                "$ref": "Empty"
-              },
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "parameters": {
-                "name": {
-                  "location": "path",
-                  "description": "The resource name of the account.\nRequired.",
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/accounts/[^/]+$"
-                }
-              },
-              "flatPath": "v1/providers/{providersId}/accounts/{accountsId}:approve",
-              "id": "cloudcommerceprocurement.providers.accounts.approve",
-              "path": "v1/{+name}:approve"
-            },
-            "reset": {
-              "parameters": {
-                "name": {
-                  "description": "The resource name of the account.\nRequired.",
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/accounts/[^/]+$",
-                  "location": "path"
-                }
-              },
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "flatPath": "v1/providers/{providersId}/accounts/{accountsId}:reset",
-              "id": "cloudcommerceprocurement.providers.accounts.reset",
-              "path": "v1/{+name}:reset",
-              "description": "Reset an Account and cancel all associated Entitlements.\nPartner can only reset accounts they own rather than customer accounts.",
-              "request": {
-                "$ref": "ResetAccountRequest"
-              },
-              "httpMethod": "POST",
-              "parameterOrder": [
-                "name"
-              ],
-              "response": {
-                "$ref": "Empty"
-              }
-            },
-            "list": {
               "response": {
                 "$ref": "ListAccountsResponse"
               },
-              "parameterOrder": [
-                "parent"
-              ],
-              "httpMethod": "GET",
               "scopes": [
                 "https://www.googleapis.com/auth/cloud-platform"
               ],
-              "parameters": {
-                "pageToken": {
-                  "location": "query",
-                  "description": "The token for fetching the next page.",
-                  "type": "string"
-                },
-                "pageSize": {
-                  "type": "integer",
-                  "location": "query",
-                  "description": "The maximum number of entries that are requested. Default size is 200.",
-                  "format": "int32"
-                },
-                "parent": {
-                  "description": "The parent resource name.",
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+$",
-                  "location": "path"
-                }
-              },
-              "flatPath": "v1/providers/{providersId}/accounts",
-              "path": "v1/{+parent}/accounts",
-              "id": "cloudcommerceprocurement.providers.accounts.list",
               "description": "List Accounts that the provider has access to."
             },
             "get": {
-              "description": "Get a requested Account resource.",
+              "id": "cloudcommerceprocurement.providers.accounts.get",
+              "path": "v1/{+name}",
+              "flatPath": "v1/providers/{providersId}/accounts/{accountsId}",
               "httpMethod": "GET",
+              "parameters": {
+                "name": {
+                  "description": "The name of the account to retrieve.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/accounts\/[^\/]+$",
+                  "type": "string"
+                }
+              },
               "parameterOrder": [
                 "name"
               ],
               "response": {
                 "$ref": "Account"
               },
-              "parameters": {
-                "name": {
-                  "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/accounts/[^/]+$",
-                  "location": "path",
-                  "description": "The name of the account to retrieve."
-                }
-              },
               "scopes": [
                 "https://www.googleapis.com/auth/cloud-platform"
               ],
-              "flatPath": "v1/providers/{providersId}/accounts/{accountsId}",
-              "id": "cloudcommerceprocurement.providers.accounts.get",
-              "path": "v1/{+name}"
+              "description": "Get a requested Account resource."
             },
-            "reject": {
-              "request": {
-                "$ref": "RejectAccountRequest"
-              },
-              "description": "Reject an approval on an Account.",
-              "response": {
-                "$ref": "Empty"
+            "approve": {
+              "id": "cloudcommerceprocurement.providers.accounts.approve",
+              "path": "v1/{+name}:approve",
+              "flatPath": "v1/providers/{providersId}/accounts/{accountsId}:approve",
+              "httpMethod": "POST",
+              "parameters": {
+                "name": {
+                  "description": "The resource name of the account. Required.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/accounts\/[^\/]+$",
+                  "type": "string"
+                }
               },
               "parameterOrder": [
                 "name"
               ],
-              "httpMethod": "POST",
+              "request": {
+                "$ref": "ApproveAccountRequest"
+              },
+              "response": {
+                "$ref": "Empty"
+              },
               "scopes": [
                 "https://www.googleapis.com/auth/cloud-platform"
               ],
+              "description": "Grant an approval on an Account."
+            },
+            "reject": {
+              "id": "cloudcommerceprocurement.providers.accounts.reject",
+              "path": "v1/{+name}:reject",
+              "flatPath": "v1/providers/{providersId}/accounts/{accountsId}:reject",
+              "httpMethod": "POST",
               "parameters": {
                 "name": {
+                  "description": "The resource name of the account. Required.",
                   "location": "path",
-                  "description": "The resource name of the account.\nRequired.",
                   "required": true,
-                  "type": "string",
-                  "pattern": "^providers/[^/]+/accounts/[^/]+$"
+                  "pattern": "^providers\/[^\/]+\/accounts\/[^\/]+$",
+                  "type": "string"
                 }
               },
-              "flatPath": "v1/providers/{providersId}/accounts/{accountsId}:reject",
+              "parameterOrder": [
+                "name"
+              ],
+              "request": {
+                "$ref": "RejectAccountRequest"
+              },
+              "response": {
+                "$ref": "Empty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "Reject an approval on an Account."
+            },
+            "reset": {
+              "id": "cloudcommerceprocurement.providers.accounts.reset",
+              "path": "v1/{+name}:reset",
+              "flatPath": "v1/providers/{providersId}/accounts/{accountsId}:reset",
+              "httpMethod": "POST",
+              "parameters": {
+                "name": {
+                  "description": "The resource name of the account. Required.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/accounts\/[^\/]+$",
+                  "type": "string"
+                }
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "request": {
+                "$ref": "ResetAccountRequest"
+              },
+              "response": {
+                "$ref": "Empty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "Reset an Account and cancel all associated Entitlements. Partner can only reset accounts they own rather than customer accounts."
+            }
+          }
+        },
+        "entitlements": {
+          "methods": {
+            "list": {
+              "id": "cloudcommerceprocurement.providers.entitlements.list",
+              "path": "v1/{+parent}/entitlements",
+              "flatPath": "v1/providers/{providersId}/entitlements",
+              "httpMethod": "GET",
+              "parameters": {
+                "parent": {
+                  "description": "The parent resource name.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+$",
+                  "type": "string"
+                },
+                "filter": {
+                  "description": "The filter that can be used to limit the list request. The filter is a query string that can match a selected set of attributes with string values. For example `account=E-1234-5678-ABCD-EFGH`, `state=pending_cancellation`, and `plan!=foo-plan`. Supported query attributes are * `account` * `product_external_name` * `quote_external_name` * `plan` * `newPendingPlan` or `new_pending_plan` * `state` * `consumers.project` Note that the consumers match works on repeated structures, so equality (`consumers.project=projects\/123456789`) is not supported. Set membership can be expressed with the `:` operator. For example, `consumers.project:projects\/123456789` finds entitlements with at least one consumer with project field equal to `projects\/123456789`. Also note that the state name match is case-insensitive and query can omit the prefix \"ENTITLEMENT_\". For example, `state=active` is equivalent to `state=ENTITLEMENT_ACTIVE`. If the query contains some special characters other than letters, underscore, or digits, the phrase must be quoted with double quotes. For example, `product=\"providerId:productId\"`, where the product name needs to be quoted because it contains special character colon. Queries can be combined with `AND`, `OR`, and `NOT` to form more complex queries. They can also be grouped to force a desired evaluation order. For example, `state=active AND (account=E-1234 OR account=5678) AND NOT (product=foo-product)`. Connective `AND` can be omitted between two predicates. For example `account=E-1234 state=active` is equivalent to `account=E-1234 AND state=active`.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "pageSize": {
+                  "description": "The maximum number of entries that are requested.",
+                  "location": "query",
+                  "type": "integer",
+                  "format": "int32"
+                },
+                "pageToken": {
+                  "description": "The token for fetching the next page.",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "parameterOrder": [
+                "parent"
+              ],
+              "response": {
+                "$ref": "ListEntitlementsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "List Entitlements for which the provider has read access."
+            },
+            "get": {
+              "id": "cloudcommerceprocurement.providers.entitlements.get",
+              "path": "v1/{+name}",
+              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}",
+              "httpMethod": "GET",
+              "parameters": {
+                "name": {
+                  "description": "The name of the entitlement to retrieve.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/entitlements\/[^\/]+$",
+                  "type": "string"
+                }
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "response": {
+                "$ref": "Entitlement"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "Get a requested Entitlement resource."
+            },
+            "approve": {
+              "id": "cloudcommerceprocurement.providers.entitlements.approve",
+              "path": "v1/{+name}:approve",
+              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:approve",
+              "httpMethod": "POST",
+              "parameters": {
+                "name": {
+                  "description": "The resource name of the entitlement. Required.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/entitlements\/[^\/]+$",
+                  "type": "string"
+                }
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "request": {
+                "$ref": "ApproveEntitlementRequest"
+              },
+              "response": {
+                "$ref": "Empty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "Approve an entitlement that is in the EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state. This method is invoked by the provider to approve the creation of the entitlement resource."
+            },
+            "reject": {
+              "id": "cloudcommerceprocurement.providers.entitlements.reject",
               "path": "v1/{+name}:reject",
-              "id": "cloudcommerceprocurement.providers.accounts.reject"
+              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:reject",
+              "httpMethod": "POST",
+              "parameters": {
+                "name": {
+                  "description": "The resource name of the entitlement. Required.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/entitlements\/[^\/]+$",
+                  "type": "string"
+                }
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "request": {
+                "$ref": "RejectEntitlementRequest"
+              },
+              "response": {
+                "$ref": "Empty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "Reject an entitlement that is in the EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state. This method is invoked by the provider to reject the creation of the entitlement resource."
+            },
+            "patch": {
+              "id": "cloudcommerceprocurement.providers.entitlements.patch",
+              "path": "v1/{+name}",
+              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}",
+              "httpMethod": "PATCH",
+              "parameters": {
+                "name": {
+                  "description": "The name of the entitlement to update.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/entitlements\/[^\/]+$",
+                  "type": "string"
+                },
+                "updateMask": {
+                  "description": "The update mask that applies to the resource. See the [FieldMask definition] (https:\/\/developers.google.com\/protocol-buffers\/docs\/reference\/google.protobuf#fieldmask) for more details.",
+                  "location": "query",
+                  "type": "string",
+                  "format": "google-fieldmask"
+                }
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "request": {
+                "$ref": "Entitlement"
+              },
+              "response": {
+                "$ref": "Entitlement"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "Updates an existing Entitlement."
+            },
+            "approvePlanChange": {
+              "id": "cloudcommerceprocurement.providers.entitlements.approvePlanChange",
+              "path": "v1/{+name}:approvePlanChange",
+              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:approvePlanChange",
+              "httpMethod": "POST",
+              "parameters": {
+                "name": {
+                  "description": "The resource name of the entitlement. Required.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/entitlements\/[^\/]+$",
+                  "type": "string"
+                }
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "request": {
+                "$ref": "ApproveEntitlementPlanChangeRequest"
+              },
+              "response": {
+                "$ref": "Empty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "Approve an entitlement plan change that is in the EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state. This method is invoked by the provider to approve the plan change on the entitlement resource."
+            },
+            "rejectPlanChange": {
+              "id": "cloudcommerceprocurement.providers.entitlements.rejectPlanChange",
+              "path": "v1/{+name}:rejectPlanChange",
+              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:rejectPlanChange",
+              "httpMethod": "POST",
+              "parameters": {
+                "name": {
+                  "description": "The resource name of the entitlement. Required.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/entitlements\/[^\/]+$",
+                  "type": "string"
+                }
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "request": {
+                "$ref": "RejectEntitlementPlanChangeRequest"
+              },
+              "response": {
+                "$ref": "Empty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "Reject an entitlement plan change that is in the EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state. This method is invoked by the provider to reject the plan change on the entitlement resource."
+            },
+            "suspend": {
+              "id": "cloudcommerceprocurement.providers.entitlements.suspend",
+              "path": "v1/{+name}:suspend",
+              "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:suspend",
+              "httpMethod": "POST",
+              "parameters": {
+                "name": {
+                  "description": "The name of the entitlement to suspend.",
+                  "location": "path",
+                  "required": true,
+                  "pattern": "^providers\/[^\/]+\/entitlements\/[^\/]+$",
+                  "type": "string"
+                }
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "request": {
+                "$ref": "SuspendEntitlementRequest"
+              },
+              "response": {
+                "$ref": "Empty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ],
+              "description": "Request suspension of an active Entitlement. This is not yet supported."
             }
           }
         }
       }
     }
   },
-  "parameters": {
-    "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.",
-      "type": "string",
-      "location": "query"
-    },
-    "access_token": {
-      "type": "string",
-      "location": "query",
-      "description": "OAuth access token."
-    },
-    "upload_protocol": {
-      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
-      "type": "string",
-      "location": "query"
-    },
-    "prettyPrint": {
-      "type": "boolean",
-      "default": "true",
-      "location": "query",
-      "description": "Returns response with indentations and line breaks."
-    },
-    "quotaUser": {
-      "location": "query",
-      "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.",
-      "type": "string"
-    },
-    "uploadType": {
-      "location": "query",
-      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
-      "type": "string"
-    },
-    "fields": {
-      "type": "string",
-      "location": "query",
-      "description": "Selector specifying which fields to include in a partial response."
-    },
-    "$.xgafv": {
-      "enumDescriptions": [
-        "v1 error format",
-        "v2 error format"
-      ],
-      "location": "query",
-      "enum": [
-        "1",
-        "2"
-      ],
-      "description": "V1 error format.",
-      "type": "string"
-    },
-    "oauth_token": {
-      "location": "query",
-      "description": "OAuth 2.0 token for the current user.",
-      "type": "string"
-    },
-    "callback": {
-      "location": "query",
-      "description": "JSONP",
-      "type": "string"
-    },
-    "alt": {
-      "type": "string",
-      "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",
-      "description": "Data format for response.",
-      "default": "json",
-      "enum": [
-        "json",
-        "media",
-        "proto"
-      ]
-    }
-  },
-  "version": "v1",
-  "baseUrl": "https://cloudcommerceprocurement.googleapis.com/",
-  "servicePath": "",
-  "kind": "discovery#restDescription",
-  "description": "Partner API for the Cloud Commerce Procurement Service.",
-  "basePath": "",
-  "id": "cloudcommerceprocurement:v1",
-  "documentationLink": "https://cloud.google.com/marketplace/docs/partners/",
-  "revision": "20191018",
-  "discoveryVersion": "v1"
-}
+  "basePath": ""
+}
\ No newline at end of file
diff --git a/cloudcommerceprocurement/v1/cloudcommerceprocurement-gen.go b/cloudcommerceprocurement/v1/cloudcommerceprocurement-gen.go
index 0533c2a..cb67447 100644
--- a/cloudcommerceprocurement/v1/cloudcommerceprocurement-gen.go
+++ b/cloudcommerceprocurement/v1/cloudcommerceprocurement-gen.go
@@ -52,6 +52,7 @@
 	googleapi "google.golang.org/api/googleapi"
 	gensupport "google.golang.org/api/internal/gensupport"
 	option "google.golang.org/api/option"
+	internaloption "google.golang.org/api/option/internaloption"
 	htransport "google.golang.org/api/transport/http"
 )
 
@@ -68,11 +69,13 @@
 var _ = errors.New
 var _ = strings.Replace
 var _ = context.Canceled
+var _ = internaloption.WithDefaultEndpoint
 
 const apiId = "cloudcommerceprocurement:v1"
 const apiName = "cloudcommerceprocurement"
 const apiVersion = "v1"
 const basePath = "https://cloudcommerceprocurement.googleapis.com/"
+const mtlsBasePath = "https://cloudcommerceprocurement.mtls.googleapis.com/"
 
 // OAuth2 scopes used by this API.
 const (
@@ -87,6 +90,8 @@
 	)
 	// NOTE: prepend, so we don't override user-specified scopes.
 	opts = append([]option.ClientOption{scopesOption}, opts...)
+	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
+	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
 	client, endpoint, err := htransport.NewClient(ctx, opts...)
 	if err != nil {
 		return nil, err
@@ -164,59 +169,45 @@
 }
 
 // Account: Represents an account that was established by the customer
-// on the service
-// provider's system.
+// on the service provider's system.
 type Account struct {
 	// Approvals: Output only. The approvals for this account. These
-	// approvals are used to track actions
-	// that are permitted or have been completed by a customer within the
-	// context
-	// of the provider. This might include a sign up flow or a provisioning
-	// step,
-	// for example, that the provider can admit to having happened.
+	// approvals are used to track actions that are permitted or have been
+	// completed by a customer within the context of the provider. This
+	// might include a sign up flow or a provisioning step, for example,
+	// that the provider can admit to having happened.
 	Approvals []*Approval `json:"approvals,omitempty"`
 
 	// CreateTime: Output only. The creation timestamp.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// InputProperties: Output only. The custom properties that were
-	// collected from the user to create this
-	// account.
+	// collected from the user to create this account.
 	InputProperties googleapi.RawMessage `json:"inputProperties,omitempty"`
 
-	// Name: Output only. The resource name of the account.
-	// Account names have the form `accounts/{account_id}`.
+	// Name: Output only. The resource name of the account. Account names
+	// have the form `accounts/{account_id}`.
 	Name string `json:"name,omitempty"`
 
 	// Provider: Output only. The identifier of the service provider that
-	// this account was created
-	// against. Each service provider is assigned a unique provider value
-	// when
-	// they onboard with Cloud Commerce platform.
+	// this account was created against. Each service provider is assigned a
+	// unique provider value when they onboard with Cloud Commerce platform.
 	Provider string `json:"provider,omitempty"`
 
 	// State: Output only. The state of the account. This is used to decide
-	// whether the customer is in
-	// good standing with the provider and is able to make purchases. An
-	// account
-	// might not be able to make a purchase if the billing account is
-	// suspended,
-	// for example.
+	// whether the customer is in good standing with the provider and is
+	// able to make purchases. An account might not be able to make a
+	// purchase if the billing account is suspended, for example.
 	//
 	// Possible values:
 	//   "ACCOUNT_STATE_UNSPECIFIED" - Sentinel value, do not use.
 	//   "ACCOUNT_ACTIVATION_REQUESTED" - The customer has requested the
-	// creation of the account resource, and
-	// the provider notification message is dispatched.
-	//
-	// This state has been deprecated, as accounts now immediately
-	// transition to
-	// AccountState.ACCOUNT_ACTIVE.
-	//   "ACCOUNT_ACTIVE" - The account is active and ready for use.
-	//
-	// The next possible states are:
-	// - Account getting deleted: After the user invokes delete from another
-	// API.
+	// creation of the account resource, and the provider notification
+	// message is dispatched. This state has been deprecated, as accounts
+	// now immediately transition to AccountState.ACCOUNT_ACTIVE.
+	//   "ACCOUNT_ACTIVE" - The account is active and ready for use. The
+	// next possible states are: - Account getting deleted: After the user
+	// invokes delete from another API.
 	State string `json:"state,omitempty"`
 
 	// UpdateTime: Output only. The last update timestamp.
@@ -261,18 +252,13 @@
 	//
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - Sentinel value; do not use.
-	//   "PENDING" - The approval is pending response from the
-	// provider.
-	//
-	// The approval state can transition to
-	// Account.Approval.State.APPROVED or
+	//   "PENDING" - The approval is pending response from the provider. The
+	// approval state can transition to Account.Approval.State.APPROVED or
 	// Account.Approval.State.REJECTED.
 	//   "APPROVED" - The approval has been granted by the provider.
-	//   "REJECTED" - The approval has been rejected by the provider.
-	//
-	// A provider may choose to approve a previously rejected approval,
-	// so
-	// is it possible to transition to Account.Approval.State.APPROVED.
+	//   "REJECTED" - The approval has been rejected by the provider. A
+	// provider may choose to approve a previously rejected approval, so is
+	// it possible to transition to Account.Approval.State.APPROVED.
 	State string `json:"state,omitempty"`
 
 	// UpdateTime: Optional. The last update timestamp of the approval.
@@ -305,24 +291,18 @@
 // PartnerProcurementService.ApproveAccount.
 type ApproveAccountRequest struct {
 	// ApprovalName: The name of the approval being approved. If absent and
-	// there is only one
-	// approval possible, that approval will be granted. If absent and there
-	// are
-	// many approvals possible, the request will fail with a 400 Bad
-	// Request.
-	// Optional.
+	// there is only one approval possible, that approval will be granted.
+	// If absent and there are many approvals possible, the request will
+	// fail with a 400 Bad Request. Optional.
 	ApprovalName string `json:"approvalName,omitempty"`
 
 	// Properties: Set of properties that should be associated with the
-	// account.
-	// Optional.
+	// account. Optional.
 	Properties map[string]string `json:"properties,omitempty"`
 
-	// Reason: Free form text string explaining the approval
-	// reason.
-	// Optional.
-	//
-	// Max allowed length: 256 bytes. Longer strings will be truncated.
+	// Reason: Free form text string explaining the approval reason.
+	// Optional. Max allowed length: 256 bytes. Longer strings will be
+	// truncated.
 	Reason string `json:"reason,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ApprovalName") to
@@ -348,12 +328,10 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ApproveEntitlementPlanChangeRequest: Request message
-// for
+// ApproveEntitlementPlanChangeRequest: Request message for
 // [PartnerProcurementService.ApproveEntitlementPlanChange[].
 type ApproveEntitlementPlanChangeRequest struct {
-	// PendingPlanName: Name of the pending plan that is being
-	// approved.
+	// PendingPlanName: Name of the pending plan that is being approved.
 	// Required.
 	PendingPlanName string `json:"pendingPlanName,omitempty"`
 
@@ -385,8 +363,7 @@
 // [PartnerProcurementService.ApproveEntitlement[].
 type ApproveEntitlementRequest struct {
 	// Properties: Set of properties that should be associated with the
-	// entitlement.
-	// Optional.
+	// entitlement. Optional.
 	Properties map[string]string `json:"properties,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Properties") to
@@ -412,182 +389,171 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// Consumer: A resource using (consuming) this entitlement.
+type Consumer struct {
+	// Project: A project name with format `projects/`.
+	Project string `json:"project,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Project") 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. "Project") 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 *Consumer) MarshalJSON() ([]byte, error) {
+	type NoMethod Consumer
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // Empty: A generic empty message that you can re-use to avoid defining
-// duplicated
-// empty messages in your APIs. A typical example is to use it as the
-// request
-// or the response type of an API method. For instance:
-//
-//     service Foo {
-//       rpc Bar(google.protobuf.Empty) returns
-// (google.protobuf.Empty);
-//     }
-//
-// The JSON representation for `Empty` is empty JSON object `{}`.
+// duplicated empty messages in your APIs. A typical example is to use
+// it as the request or the response type of an API method. For
+// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
+// (google.protobuf.Empty); } The JSON representation for `Empty` is
+// empty JSON object `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
 	googleapi.ServerResponse `json:"-"`
 }
 
-// Entitlement: Represents a procured product of a customer.
+// Entitlement: Represents a procured product of a customer. Next Id: 17
 type Entitlement struct {
 	// Account: Output only. The resource name of the account that this
 	// entitlement is based on, if any.
 	Account string `json:"account,omitempty"`
 
+	// Consumers: Output only. The resources using this entitlement, if
+	// applicable.
+	Consumers []*Consumer `json:"consumers,omitempty"`
+
 	// CreateTime: Output only. The creation timestamp.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// InputProperties: Output only. The custom properties that were
-	// collected from the user to create this
-	// entitlement.
+	// collected from the user to create this entitlement.
 	InputProperties googleapi.RawMessage `json:"inputProperties,omitempty"`
 
 	// MessageToUser: Provider-supplied message that is displayed to the end
-	// user. Currently this
-	// is used to communicate progress and ETA for provisioning.
-	// This field can be updated only when a user is waiting for an action
-	// from
-	// the provider, i.e. entitlement state
-	// is
-	// EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED
-	// or
-	// EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL.
-	//
-	// This field is cleared automatically when the enitlement state
-	// changes.
+	// user. Currently this is used to communicate progress and ETA for
+	// provisioning. This field can be updated only when a user is waiting
+	// for an action from the provider, i.e. entitlement state is
+	// EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED or
+	// EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL. This field
+	// is cleared automatically when the entitlement state changes.
 	MessageToUser string `json:"messageToUser,omitempty"`
 
-	// Name: Output only. The resource name of the entitlement.
-	// Entitlement names have the form `entitlements/{entitlement_id}`.
+	// Name: Output only. The resource name of the entitlement. Entitlement
+	// names have the form
+	// `providers/{provider_id}/entitlements/{entitlement_id}`.
 	Name string `json:"name,omitempty"`
 
-	// NewPendingPlan: Output only. The identifier of the pending new
-	// plan.
+	// NewPendingPlan: Output only. The identifier of the pending new plan.
 	// Required if the product has plans and the entitlement has a pending
-	// plan
-	// change.
+	// plan change.
 	NewPendingPlan string `json:"newPendingPlan,omitempty"`
 
-	// Plan: Output only. The identifier of the plan that was
-	// procured.
+	// Plan: Output only. The identifier of the plan that was procured.
 	// Required if the product has plans.
 	Plan string `json:"plan,omitempty"`
 
-	// Product: Output only. The identifier of the product that was
-	// procured.
+	// Product: Output only. The identifier of the entity that was
+	// purchased. This may actually represent a product or a quote.
 	Product string `json:"product,omitempty"`
 
+	// ProductExternalName: Output only. The identifier of the product that
+	// was procured.
+	ProductExternalName string `json:"productExternalName,omitempty"`
+
 	// Provider: Output only. The identifier of the service provider that
-	// this entitlement was created
-	// against. Each service provider is assigned a unique provider value
-	// when
-	// they onboard with Cloud Commerce platform.
+	// this entitlement was created against. Each service provider is
+	// assigned a unique provider value when they onboard with Cloud
+	// Commerce platform.
 	Provider string `json:"provider,omitempty"`
 
+	// QuoteExternalName: Output only. The identifier of the quote that was
+	// used to procure. Empty if the order is not purchased using a quote.
+	QuoteExternalName string `json:"quoteExternalName,omitempty"`
+
 	// State: Output only. The state of the entitlement.
 	//
 	// Possible values:
 	//   "ENTITLEMENT_STATE_UNSPECIFIED" - Sentinel value. Do not use.
 	//   "ENTITLEMENT_ACTIVATION_REQUESTED" - Indicates that the entitlement
-	// is being created and the backend has sent
-	// a notification to the provider for the activation approval.
-	//
-	// If the provider approves, then the entitlement will transition to
-	// the EntitlementState.ENTITLEMENT_ACTIVE state.
-	// Otherwise, the entitlement will be removed.
-	// Plan changes are not allowed in this state. Instead the entitlement
-	// is
-	// cancelled and re-created with a new plan name.
+	// is being created and the backend has sent a notification to the
+	// provider for the activation approval. If the provider approves, then
+	// the entitlement will transition to the
+	// EntitlementState.ENTITLEMENT_ACTIVE state. Otherwise, the entitlement
+	// will be removed. Plan changes are not allowed in this state. Instead
+	// the entitlement is cancelled and re-created with a new plan name.
 	//   "ENTITLEMENT_ACTIVE" - Indicates that the entitlement is active.
-	// The procured item is now usable
-	// and any associated billing events will start occurring.
-	//
-	// In this state, the customer can decide to cancel the entitlement,
-	// which
-	// would change the state
-	// to
-	// EntitlementState.ENTITLEMENT_PENDING_CANCELLATION, and
-	// then
-	// EntitlementState.ENTITLEMENT_CANCELLED.
-	//
-	// The user can also request a change of plan, which will transition
-	// the
-	// state to EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE, and
-	// then back to EntitlementState.ENTITLEMENT_ACTIVE.
+	// The procured item is now usable and any associated billing events
+	// will start occurring. In this state, the customer can decide to
+	// cancel the entitlement, which would change the state to
+	// EntitlementState.ENTITLEMENT_PENDING_CANCELLATION, and then
+	// EntitlementState.ENTITLEMENT_CANCELLED. The user can also request a
+	// change of plan, which will transition the state to
+	// EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE, and then back to
+	// EntitlementState.ENTITLEMENT_ACTIVE.
 	//   "ENTITLEMENT_PENDING_CANCELLATION" - Indicates that the entitlement
-	// was cancelled by the customer.
-	// The entitlement typically stays in this state if the
-	// entitlement/plan
-	// allows use of the underlying resource until the end of the current
-	// billing
-	// cycle. Once the billing cycle completes, the resource will transition
-	// to
-	// EntitlementState.ENTITLEMENT_CANCELLED state.
-	//
-	// The resource cannot be modified during this state.
+	// was cancelled by the customer. The entitlement typically stays in
+	// this state if the entitlement/plan allows use of the underlying
+	// resource until the end of the current billing cycle. Once the billing
+	// cycle completes, the resource will transition to
+	// EntitlementState.ENTITLEMENT_CANCELLED state. The resource cannot be
+	// modified during this state.
 	//   "ENTITLEMENT_CANCELLED" - Indicates that the entitlement was
-	// cancelled. The entitlement can now
-	// be deleted.
+	// cancelled. The entitlement can now be deleted.
 	//   "ENTITLEMENT_PENDING_PLAN_CHANGE" - Indicates that the entitlement
-	// is currently active, but there is a pending
-	// plan change that is requested by the customer. The entitlement
-	// typically
-	// stays in this state, if the entitlement/plan requires the completion
-	// of the
-	// current billing cycle before the plan can be changed. Once the
-	// billing
-	// cycle completes, the resource will transition
-	// to
+	// is currently active, but there is a pending plan change that is
+	// requested by the customer. The entitlement typically stays in this
+	// state, if the entitlement/plan requires the completion of the current
+	// billing cycle before the plan can be changed. Once the billing cycle
+	// completes, the resource will transition to
 	// EntitlementState.ENTITLEMENT_ACTIVE, with its plan changed.
 	//   "ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL" - Indicates that the
-	// entitlement is currently active, but there is a plan
-	// change request pending provider approval. If the provider approves
-	// the plan
-	// change, then the entitlement will transition either
-	// to
-	// EntitlementState.ENTITLEMENT_ACTIVE
-	// or
-	// EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE depending on
-	// whether
-	// current plan requires that the billing cycle completes.
-	//
-	// If the provider rejects the plan change, then the pending plan
-	// change
-	// request is removed and the entitlement stays
-	// in
+	// entitlement is currently active, but there is a plan change request
+	// pending provider approval. If the provider approves the plan change,
+	// then the entitlement will transition either to
+	// EntitlementState.ENTITLEMENT_ACTIVE or
+	// EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE depending on whether
+	// current plan requires that the billing cycle completes. If the
+	// provider rejects the plan change, then the pending plan change
+	// request is removed and the entitlement stays in
 	// EntitlementState.ENTITLEMENT_ACTIVE state with the old plan.
 	//   "ENTITLEMENT_SUSPENDED" - Indicates that the entitlement is
-	// suspended either by Google or provider
-	// request.
-	//
-	// This can be triggered for various external reasons (e.g. expiration
-	// of
-	// credit card on the billing account, violation of terms-of-service of
-	// the
-	// provider etc.). As such, any remediating action needs
-	// to be taken externally, before the entitlement can be
-	// activated.
-	//
-	// This is not yet supported.
+	// suspended either by Google or provider request. This can be triggered
+	// for various external reasons (e.g. expiration of credit card on the
+	// billing account, violation of terms-of-service of the provider etc.).
+	// As such, any remediating action needs to be taken externally, before
+	// the entitlement can be activated. This is not yet supported.
 	State string `json:"state,omitempty"`
 
+	// SubscriptionEndTime: Output only. End time for the subscription
+	// corresponding to this entitlement.
+	SubscriptionEndTime string `json:"subscriptionEndTime,omitempty"`
+
 	// UpdateTime: Output only. The last update timestamp.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// UsageReportingId: Output only. The consumerId to use when reporting
-	// usage through the Service Control API.
-	// See the consumerId field
-	// at
+	// usage through the Service Control API. See the consumerId field at
 	// [Reporting
-	// Metrics](https://cloud.google.com/service-control/report
-	// ing-metrics) for
-	// more details.
-	//
-	// This field is present only if the product has usage-based
-	// billing
-	// configured.
+	// Metrics](https://cloud.google.com/service-control/reporting-metrics)
+	// for more details. This field is present only if the product has
+	// usage-based billing configured.
 	UsageReportingId string `json:"usageReportingId,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -693,17 +659,13 @@
 // PartnerProcurementService.RejectAccount.
 type RejectAccountRequest struct {
 	// ApprovalName: The name of the approval being rejected. If absent and
-	// there is only one
-	// approval possible, that approval will be rejected. If absent and
-	// there are
-	// many approvals possible, the request will fail with a 400 Bad
-	// Request.
-	// Optional.
+	// there is only one approval possible, that approval will be rejected.
+	// If absent and there are many approvals possible, the request will
+	// fail with a 400 Bad Request. Optional.
 	ApprovalName string `json:"approvalName,omitempty"`
 
-	// Reason: Free form text string explaining the rejection reason.
-	//
-	// Max allowed length: 256 bytes. Longer strings will be truncated.
+	// Reason: Free form text string explaining the rejection reason. Max
+	// allowed length: 256 bytes. Longer strings will be truncated.
 	Reason string `json:"reason,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ApprovalName") to
@@ -729,18 +691,15 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RejectEntitlementPlanChangeRequest: Request message
-// for
+// RejectEntitlementPlanChangeRequest: Request message for
 // PartnerProcurementService.RejectEntitlementPlanChange.
 type RejectEntitlementPlanChangeRequest struct {
-	// PendingPlanName: Name of the pending plan that is being
-	// rejected.
+	// PendingPlanName: Name of the pending plan that is being rejected.
 	// Required.
 	PendingPlanName string `json:"pendingPlanName,omitempty"`
 
-	// Reason: Free form text string explaining the rejection reason.
-	//
-	// Max allowed length: 256 bytes. Longer strings will be truncated.
+	// Reason: Free form text string explaining the rejection reason. Max
+	// allowed length: 256 bytes. Longer strings will be truncated.
 	Reason string `json:"reason,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PendingPlanName") to
@@ -770,9 +729,8 @@
 // RejectEntitlementRequest: Request message for
 // PartnerProcurementService.RejectEntitlement.
 type RejectEntitlementRequest struct {
-	// Reason: Free form text string explaining the rejection reason.
-	//
-	// Max allowed length: 256 bytes. Longer strings will be truncated.
+	// Reason: Free form text string explaining the rejection reason. Max
+	// allowed length: 256 bytes. Longer strings will be truncated.
 	Reason string `json:"reason,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Reason") to
@@ -804,8 +762,8 @@
 }
 
 // SuspendEntitlementRequest: Request message for
-// ParterProcurementService.SuspendEntitlement. This is
-// not yet supported.
+// ParterProcurementService.SuspendEntitlement. This is not yet
+// supported.
 type SuspendEntitlementRequest struct {
 	// Reason: A free-form reason string, explaining the reason for
 	// suspension request.
@@ -880,7 +838,7 @@
 
 func (c *ProvidersAccountsApproveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -953,7 +911,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the account.\nRequired.",
+	//       "description": "The resource name of the account. Required.",
 	//       "location": "path",
 	//       "pattern": "^providers/[^/]+/accounts/[^/]+$",
 	//       "required": true,
@@ -1029,7 +987,7 @@
 
 func (c *ProvidersAccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1187,7 +1145,7 @@
 
 func (c *ProvidersAccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1354,7 +1312,7 @@
 
 func (c *ProvidersAccountsRejectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1427,7 +1385,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the account.\nRequired.",
+	//       "description": "The resource name of the account. Required.",
 	//       "location": "path",
 	//       "pattern": "^providers/[^/]+/accounts/[^/]+$",
 	//       "required": true,
@@ -1459,8 +1417,7 @@
 	header_             http.Header
 }
 
-// Reset: Reset an Account and cancel all associated
-// Entitlements.
+// Reset: Reset an Account and cancel all associated Entitlements.
 // Partner can only reset accounts they own rather than customer
 // accounts.
 func (r *ProvidersAccountsService) Reset(name string, resetaccountrequest *ResetAccountRequest) *ProvidersAccountsResetCall {
@@ -1497,7 +1454,7 @@
 
 func (c *ProvidersAccountsResetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1561,7 +1518,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Reset an Account and cancel all associated Entitlements.\nPartner can only reset accounts they own rather than customer accounts.",
+	//   "description": "Reset an Account and cancel all associated Entitlements. Partner can only reset accounts they own rather than customer accounts.",
 	//   "flatPath": "v1/providers/{providersId}/accounts/{accountsId}:reset",
 	//   "httpMethod": "POST",
 	//   "id": "cloudcommerceprocurement.providers.accounts.reset",
@@ -1570,7 +1527,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the account.\nRequired.",
+	//       "description": "The resource name of the account. Required.",
 	//       "location": "path",
 	//       "pattern": "^providers/[^/]+/accounts/[^/]+$",
 	//       "required": true,
@@ -1602,13 +1559,10 @@
 	header_                   http.Header
 }
 
-// Approve: Approve an entitlement that is in
-// the
-// EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state.
-//
-// This method is invoked by the provider to approve the creation of
-// the
-// entitlement resource.
+// Approve: Approve an entitlement that is in the
+// EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state. This method
+// is invoked by the provider to approve the creation of the entitlement
+// resource.
 func (r *ProvidersEntitlementsService) Approve(name string, approveentitlementrequest *ApproveEntitlementRequest) *ProvidersEntitlementsApproveCall {
 	c := &ProvidersEntitlementsApproveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1643,7 +1597,7 @@
 
 func (c *ProvidersEntitlementsApproveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1707,7 +1661,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Approve an entitlement that is in the\nEntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state.\n\nThis method is invoked by the provider to approve the creation of the\nentitlement resource.",
+	//   "description": "Approve an entitlement that is in the EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state. This method is invoked by the provider to approve the creation of the entitlement resource.",
 	//   "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:approve",
 	//   "httpMethod": "POST",
 	//   "id": "cloudcommerceprocurement.providers.entitlements.approve",
@@ -1716,7 +1670,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the entitlement.\nRequired.",
+	//       "description": "The resource name of the entitlement. Required.",
 	//       "location": "path",
 	//       "pattern": "^providers/[^/]+/entitlements/[^/]+$",
 	//       "required": true,
@@ -1748,13 +1702,9 @@
 	header_                             http.Header
 }
 
-// ApprovePlanChange: Approve an entitlement plan change that is in
-// the
-// EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL
-// state.
-//
-// This method is invoked by the provider to approve the plan change on
-// the
+// ApprovePlanChange: Approve an entitlement plan change that is in the
+// EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state. This
+// method is invoked by the provider to approve the plan change on the
 // entitlement resource.
 func (r *ProvidersEntitlementsService) ApprovePlanChange(name string, approveentitlementplanchangerequest *ApproveEntitlementPlanChangeRequest) *ProvidersEntitlementsApprovePlanChangeCall {
 	c := &ProvidersEntitlementsApprovePlanChangeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -1790,7 +1740,7 @@
 
 func (c *ProvidersEntitlementsApprovePlanChangeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1854,7 +1804,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Approve an entitlement plan change that is in the\nEntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state.\n\nThis method is invoked by the provider to approve the plan change on the\nentitlement resource.",
+	//   "description": "Approve an entitlement plan change that is in the EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state. This method is invoked by the provider to approve the plan change on the entitlement resource.",
 	//   "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:approvePlanChange",
 	//   "httpMethod": "POST",
 	//   "id": "cloudcommerceprocurement.providers.entitlements.approvePlanChange",
@@ -1863,7 +1813,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the entitlement.\nRequired.",
+	//       "description": "The resource name of the entitlement. Required.",
 	//       "location": "path",
 	//       "pattern": "^providers/[^/]+/entitlements/[^/]+$",
 	//       "required": true,
@@ -1939,7 +1889,7 @@
 
 func (c *ProvidersEntitlementsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2047,47 +1997,30 @@
 }
 
 // Filter sets the optional parameter "filter": The filter that can be
-// used to limit the list request.
-//
-// The filter is a query string that can match a selected set of
-// attributes
-// with string values. For example
-// `account=E-1234-5678-ABCD-EFGH`,
-// `state=pending_cancellation`, and `product!=foo-product`.
-// Supported
-// query attributes are
-//
-// * `account`
-// * `product`
-// * `plan`
-// * `newPendingPlan` or `new_pending_plan`
-// * `state`
-//
-// Note that the state name match is case-insensitive and query can omit
-// the
-// prefix "ENTITLEMENT_". For example, `state=active` is equivalent
-// to
-// `state=ENTITLEMENT_ACTIVE`.
-//
-// If the query contains some special characters other than
-// letters,
+// used to limit the list request. The filter is a query string that can
+// match a selected set of attributes with string values. For example
+// `account=E-1234-5678-ABCD-EFGH`, `state=pending_cancellation`, and
+// `plan!=foo-plan`. Supported query attributes are * `account` *
+// `product_external_name` * `quote_external_name` * `plan` *
+// `newPendingPlan` or `new_pending_plan` * `state` *
+// `consumers.project` Note that the consumers match works on repeated
+// structures, so equality (`consumers.project=projects/123456789`) is
+// not supported. Set membership can be expressed with the `:` operator.
+// For example, `consumers.project:projects/123456789` finds
+// entitlements with at least one consumer with project field equal to
+// `projects/123456789`. Also note that the state name match is
+// case-insensitive and query can omit the prefix "ENTITLEMENT_". For
+// example, `state=active` is equivalent to `state=ENTITLEMENT_ACTIVE`.
+// If the query contains some special characters other than letters,
 // underscore, or digits, the phrase must be quoted with double quotes.
-// For
-// example, `product="providerId:productId", where the product name
-// needs to
-// be quoted because it contains special character colon.
-//
+// For example, `product="providerId:productId", where the product name
+// needs to be quoted because it contains special character colon.
 // Queries can be combined with `AND`, `OR`, and `NOT` to form more
-// complex
-// queries. They can also be grouped to force a desired evaluation
-// order.
-// For example, `state=active AND (account=E-1234 OR account=5678) AND
-// NOT
-// (product=foo-product)`. Connective `AND` can be omitted between
-// two
-// predicates. For example `account=E-1234 state=active` is equivalent
-// to
-// `account=E-1234 AND state=active`.
+// complex queries. They can also be grouped to force a desired
+// evaluation order. For example, `state=active AND (account=E-1234 OR
+// account=5678) AND NOT (product=foo-product)`. Connective `AND` can be
+// omitted between two predicates. For example `account=E-1234
+// state=active` is equivalent to `account=E-1234 AND state=active`.
 func (c *ProvidersEntitlementsListCall) Filter(filter string) *ProvidersEntitlementsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -2144,7 +2077,7 @@
 
 func (c *ProvidersEntitlementsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2215,7 +2148,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "The filter that can be used to limit the list request.\n\nThe filter is a query string that can match a selected set of attributes\nwith string values. For example `account=E-1234-5678-ABCD-EFGH`,\n`state=pending_cancellation`, and `product!=foo-product`. Supported\nquery attributes are\n\n* `account`\n* `product`\n* `plan`\n* `newPendingPlan` or `new_pending_plan`\n* `state`\n\nNote that the state name match is case-insensitive and query can omit the\nprefix \"ENTITLEMENT_\". For example, `state=active` is equivalent to\n`state=ENTITLEMENT_ACTIVE`.\n\nIf the query contains some special characters other than letters,\nunderscore, or digits, the phrase must be quoted with double quotes. For\nexample, `product=\"providerId:productId\"`, where the product name needs to\nbe quoted because it contains special character colon.\n\nQueries can be combined with `AND`, `OR`, and `NOT` to form more complex\nqueries. They can also be grouped to force a desired evaluation order.\nFor example, `state=active AND (account=E-1234 OR account=5678) AND NOT\n(product=foo-product)`. Connective `AND` can be omitted between two\npredicates. For example `account=E-1234 state=active` is equivalent to\n`account=E-1234 AND state=active`.",
+	//       "description": "The filter that can be used to limit the list request. The filter is a query string that can match a selected set of attributes with string values. For example `account=E-1234-5678-ABCD-EFGH`, `state=pending_cancellation`, and `plan!=foo-plan`. Supported query attributes are * `account` * `product_external_name` * `quote_external_name` * `plan` * `newPendingPlan` or `new_pending_plan` * `state` * `consumers.project` Note that the consumers match works on repeated structures, so equality (`consumers.project=projects/123456789`) is not supported. Set membership can be expressed with the `:` operator. For example, `consumers.project:projects/123456789` finds entitlements with at least one consumer with project field equal to `projects/123456789`. Also note that the state name match is case-insensitive and query can omit the prefix \"ENTITLEMENT_\". For example, `state=active` is equivalent to `state=ENTITLEMENT_ACTIVE`. If the query contains some special characters other than letters, underscore, or digits, the phrase must be quoted with double quotes. For example, `product=\"providerId:productId\"`, where the product name needs to be quoted because it contains special character colon. Queries can be combined with `AND`, `OR`, and `NOT` to form more complex queries. They can also be grouped to force a desired evaluation order. For example, `state=active AND (account=E-1234 OR account=5678) AND NOT (product=foo-product)`. Connective `AND` can be omitted between two predicates. For example `account=E-1234 state=active` is equivalent to `account=E-1234 AND state=active`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -2290,12 +2223,9 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The update mask
-// that applies to the resource.
-// See the [FieldMask
-// definition]
-// (https://developers.google.com/protocol-buffers/docs/refer
-// ence/google.protobuf#fieldmask)
-// for more details.
+// that applies to the resource. See the [FieldMask definition]
+// (https://developers.google.com/protocol-buffers/docs/reference/google.
+// protobuf#fieldmask) for more details.
 func (c *ProvidersEntitlementsPatchCall) UpdateMask(updateMask string) *ProvidersEntitlementsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -2328,7 +2258,7 @@
 
 func (c *ProvidersEntitlementsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2408,7 +2338,7 @@
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The update mask that applies to the resource.\nSee the [FieldMask definition]\n(https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask)\nfor more details.",
+	//       "description": "The update mask that applies to the resource. See the [FieldMask definition] (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask) for more details.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -2439,13 +2369,10 @@
 	header_                  http.Header
 }
 
-// Reject: Reject an entitlement that is in
-// the
-// EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state.
-//
-// This method is invoked by the provider to reject the creation of
-// the
-// entitlement resource.
+// Reject: Reject an entitlement that is in the
+// EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state. This method
+// is invoked by the provider to reject the creation of the entitlement
+// resource.
 func (r *ProvidersEntitlementsService) Reject(name string, rejectentitlementrequest *RejectEntitlementRequest) *ProvidersEntitlementsRejectCall {
 	c := &ProvidersEntitlementsRejectCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2480,7 +2407,7 @@
 
 func (c *ProvidersEntitlementsRejectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2544,7 +2471,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Reject an entitlement that is in the\nEntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state.\n\nThis method is invoked by the provider to reject the creation of the\nentitlement resource.",
+	//   "description": "Reject an entitlement that is in the EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state. This method is invoked by the provider to reject the creation of the entitlement resource.",
 	//   "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:reject",
 	//   "httpMethod": "POST",
 	//   "id": "cloudcommerceprocurement.providers.entitlements.reject",
@@ -2553,7 +2480,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the entitlement.\nRequired.",
+	//       "description": "The resource name of the entitlement. Required.",
 	//       "location": "path",
 	//       "pattern": "^providers/[^/]+/entitlements/[^/]+$",
 	//       "required": true,
@@ -2585,13 +2512,9 @@
 	header_                            http.Header
 }
 
-// RejectPlanChange: Reject an entitlement plan change that is in
-// the
-// EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL
-// state.
-//
-// This method is invoked by the provider to reject the plan change on
-// the
+// RejectPlanChange: Reject an entitlement plan change that is in the
+// EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state. This
+// method is invoked by the provider to reject the plan change on the
 // entitlement resource.
 func (r *ProvidersEntitlementsService) RejectPlanChange(name string, rejectentitlementplanchangerequest *RejectEntitlementPlanChangeRequest) *ProvidersEntitlementsRejectPlanChangeCall {
 	c := &ProvidersEntitlementsRejectPlanChangeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2627,7 +2550,7 @@
 
 func (c *ProvidersEntitlementsRejectPlanChangeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2691,7 +2614,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Reject an entitlement plan change that is in the\nEntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state.\n\nThis method is invoked by the provider to reject the plan change on the\nentitlement resource.",
+	//   "description": "Reject an entitlement plan change that is in the EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state. This method is invoked by the provider to reject the plan change on the entitlement resource.",
 	//   "flatPath": "v1/providers/{providersId}/entitlements/{entitlementsId}:rejectPlanChange",
 	//   "httpMethod": "POST",
 	//   "id": "cloudcommerceprocurement.providers.entitlements.rejectPlanChange",
@@ -2700,7 +2623,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the entitlement.\nRequired.",
+	//       "description": "The resource name of the entitlement. Required.",
 	//       "location": "path",
 	//       "pattern": "^providers/[^/]+/entitlements/[^/]+$",
 	//       "required": true,
@@ -2768,7 +2691,7 @@
 
 func (c *ProvidersEntitlementsSuspendCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200821")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}