Upgrade python/google-api-python-client to v1.7.10

Exempt-From-Owner-Approval: Upgrade library
Test: None
Change-Id: Ied5c29b2bd0452382f9b9bd016ba7b910c446c03
diff --git a/CHANGELOG b/CHANGELOG
index 9591e2f..35944a9 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,25 @@
+v1.7.10
+  Version 1.7.10
+
+  Bugfix release
+
+  Implementation Changes
+  - Decode service to utf-8 ([#723](https://github.com/googleapis/google-api-python-client/pull/723))
+  - Use print() function in both Python2 and Python 3 ([#722](https://github.com/googleapis/google-api-python-client/pull/722))
+  - Make http.MediaFileUpload close its file descriptor ([#600](https://github.com/googleapis/google-api-python-client/pull/600))
+  - Never make 'body' required ([#718](https://github.com/googleapis/google-api-python-client/pull/718))
+
+  Documentation
+  - Add compatability check badges to README ([#691](https://github.com/googleapis/google-api-python-client/pull/691))
+  - Regenerate docs ([#696](https://github.com/googleapis/google-api-python-client/pull/696), [#700](https://github.com/googleapis/google-api-python-client/pull/700))
+  - Create index file for dynamically generated docs ([#702](https://github.com/googleapis/google-api-python-client/pull/702))
+  - Add docs folder with guides from developers.google.com ([#706](https://github.com/googleapis/google-api-python-client/pull/706), [#710](https://github.com/googleapis/google-api-python-client/pull/710))
+
+  Internal / Testing Changes
+  - Fix http.py, lint errors, unit test ([#724](https://github.com/googleapis/google-api-python-client/pull/724))
+  - tox.ini: Look for Python syntax errors and undefined names ([#721](https://github.com/googleapis/google-api-python-client/pull/721))
+
+
 v1.7.9
   Version 1.7.9
 
diff --git a/METADATA b/METADATA
index 3548628..236facd 100644
--- a/METADATA
+++ b/METADATA
@@ -9,10 +9,10 @@
     type: GIT
     value: "https://github.com/google/google-api-python-client"
   }
-  version: "v1.7.9"
+  version: "v1.7.10"
   last_upgrade_date {
     year: 2019
-    month: 5
-    day: 22
+    month: 7
+    day: 24
   }
 }
diff --git a/README.md b/README.md
index 9dd7587..fdce946 100644
--- a/README.md
+++ b/README.md
@@ -1,35 +1,45 @@
 # Google API Client
 
 [![PyPI version](https://badge.fury.io/py/google-api-python-client.svg)](https://badge.fury.io/py/google-api-python-client)
+[![Compat check PyPI](https://python-compatibility-tools.appspot.com/one_badge_image?package=google-api-python-client)](https://python-compatibility-tools.appspot.com/one_badge_target?package=google-api-python-client)
+[![Compat check github](https://python-compatibility-tools.appspot.com/one_badge_image?package=git%2Bgit%3A//github.com/googleapis/google-api-python-client.git)](https://python-compatibility-tools.appspot.com/one_badge_target?package=git%2Bgit%3A//github.com/googleapis/google-api-python-client.git)
 
-This is the Python client library for Google's discovery based APIs. To get started, please see the [full documentation for this library](https://developers.google.com/api-client-library/python/). Additionally, [dynamically generated documentation](http://google.github.io/google-api-python-client/docs/epy/index.html) is available for all of the APIs supported by this library.
+This is the Python client library for Google's discovery based APIs. To get started, please see the [docs folder](docs/README.md).
 
 These client libraries are officially supported by Google.  However, the libraries are considered complete and are in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.
 
+## Documentation
+
+See the [docs folder](docs/README.md) for more detailed instructions and additional documentation.
+
 ## Google Cloud Platform
 
 For Google Cloud Platform APIs such as Datastore, Cloud Storage or Pub/Sub, we recommend using [Cloud Client Libraries for Python](https://github.com/GoogleCloudPlatform/google-cloud-python) which is under active development.
 
-# Installation
+## Installation
+
 To install, simply use `pip` or `easy_install`:
 
 ```bash
-$ pip install --upgrade google-api-python-client
+pip install --upgrade google-api-python-client
 ```
+
 or
+
 ```bash
-$ easy_install --upgrade google-api-python-client
+easy_install --upgrade google-api-python-client
 ```
 
-See the [Developers Guide](https://developers.google.com/api-client-library/python/start/get_started) for more detailed instructions and additional documentation.
+## Supported Python Versions
 
-# Supported Python Versions
 Python 3.4, 3.5, 3.6 and 3.7 are fully supported and tested. This library may work on later versions of 3, but we do not currently run tests against those versions
 
-# Deprecated Python Versions
+## Deprecated Python Versions
+
 Python == 2.7
 
-# Third Party Libraries and Dependencies
+## Third Party Libraries and Dependencies
+
 The following libraries will be installed when you install the client library:
 * [httplib2](https://github.com/httplib2/httplib2)
 * [uritemplate](https://github.com/sigmavirus24/uritemplate)
@@ -39,5 +49,6 @@
 * [pycrypto](https://pypi.python.org/pypi/pycrypto)
 * [pyopenssl](https://pypi.python.org/pypi/pyOpenSSL)
 
-# Contributing
+## Contributing
+
 Please see the [contributing page](http://google.github.io/google-api-python-client/contributing.html) for more information. In particular, we love pull requests - but please make sure to sign the contributor license agreement.
diff --git a/describe.py b/describe.py
index 3aaaa50..636eb5d 100755
--- a/describe.py
+++ b/describe.py
@@ -20,10 +20,13 @@
 The documentation is generated from a combination of the discovery document and
 the generated API surface itself.
 """
+from __future__ import print_function
 
 __author__ = 'jcgregorio@google.com (Joe Gregorio)'
 
+from collections import OrderedDict
 import argparse
+import collections
 import json
 import os
 import re
@@ -335,7 +338,8 @@
   for name in dir(resource):
     if (not name.startswith('_')
         and callable(getattr(resource, name))
-        and hasattr(getattr(resource, name), '__is_resource__')):
+        and hasattr(getattr(resource, name), '__is_resource__')
+        and discovery != {}):
       dname = name.rsplit('_')[0]
       collection = getattr(resource, name)()
       document_collection_recursive(collection, path + name + '.', root_discovery,
@@ -351,7 +355,7 @@
   try:
     service = build(name, version)
   except UnknownApiNameOrVersion as e:
-    print 'Warning: {} {} found but could not be built.'.format(name, version)
+    print('Warning: {} {} found but could not be built.'.format(name, version))
     return
 
   http = build_http()
@@ -393,6 +397,7 @@
   if FLAGS.discovery_uri:
     document_api_from_discovery_document(FLAGS.discovery_uri)
   else:
+    api_directory = collections.defaultdict(list)
     http = build_http()
     resp, content = http.request(
         FLAGS.directory_uri,
@@ -401,5 +406,22 @@
       directory = json.loads(content)['items']
       for api in directory:
         document_api(api['name'], api['version'])
+        api_directory[api['name']].append(api['version'])
+      
+      # sort by api name and version number
+      for api in api_directory:
+        api_directory[api] = sorted(api_directory[api])
+      api_directory = OrderedDict(sorted(api_directory.items(), key = lambda x: x[0]))
+
+      markdown = []
+      for api, versions in api_directory.items():
+          markdown.append('## %s' % api)
+          for version in versions:
+              markdown.append('* [%s](http://googleapis.github.io/google-api-python-client/docs/dyn/%s_%s.html)' % (version, api, version))
+          markdown.append('\n')
+
+      with open('docs/dyn/index.md', 'w') as f:
+        f.write('\n'.join(markdown).encode('utf-8'))
+
     else:
       sys.exit("Failed to load the discovery document.")
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..0bdda21
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,41 @@
+# Google API Client LIbrary for Python Docs
+
+ The Google API Client Library for Python is designed for Python
+client-application developers. It offers simple, flexible
+access to many Google APIs.
+
+## Features
+
+- Call Google APIs simply
+- Use the library with Google App Engine
+- Handle Auath with fewer lines of code
+- Use standard tooling for installation
+
+## Documentation
+
+Learn how to use the Google API Python Client with these guides:
+
+### Usage Guides
+
+- [Getting Started](start.md)
+- [Auth](auth.md)
+  - [API Keys](api-keys.md)
+  - [OAuth 2.0](oauth.md)
+  - [OAuth 2.0 for Web Server Applications](oauth-web.md)
+  - [OAuth 2.0 for Installed Applications](oauth-installed.md)
+  - [OAuth 2.0 for Server to Server Applications](oauth-server.md)
+  - [Client Secrets](client-secrets.md)
+- How to...
+  - [Use Logging](logging.md)
+  - [Upload Media](media.md)
+  - [Use Mocks](mocks.md)
+  - [Use Pagination](pagination.md)
+  - [Improve Performance](performance.md)
+  - [Understand Thread Safety](thread_safety.md)
+  - [Use Google App Engine](google_app_engine.md)
+  - [Use Django](django.md)
+
+### Reference Documentation
+
+- Reference documentation for the the core library [googleapiclient](http://googleapis.github.io/google-api-python-client/docs/epy/index.html).
+- [Library reference documentation by API](dyn/index.md).
diff --git a/docs/api-keys.md b/docs/api-keys.md
new file mode 100644
index 0000000..10693a5
--- /dev/null
+++ b/docs/api-keys.md
@@ -0,0 +1,15 @@
+# API Keys
+
+When calling APIs that do not access private user data, you can use simple API keys. These keys are used to authenticate your application for accounting purposes. The Google Developers Console documentation also describes [API keys](https://developers.google.com/console/help/using-keys).
+
+> Note: If you do need to access private user data, you must use OAuth 2.0. See [Using OAuth 2.0 for Web Server Applications](oauth-web.md) and [Using OAuth 2.0 for Server to Server Applications](oauth-server.md) for more information.
+
+## Using API Keys
+
+To use API keys, pass them to the `build()` function when creating service objects. For example:
+
+```py
+books_service = build('books', 'v1', developerKey='api_key')
+```
+
+All calls made using that service object will include your API key.
diff --git a/docs/auth.md b/docs/auth.md
new file mode 100644
index 0000000..f197fe3
--- /dev/null
+++ b/docs/auth.md
@@ -0,0 +1,41 @@
+# Authentication Overview
+
+This document is an overview of how authentication, authorization, and accounting are accomplished. For all API calls, your application needs to be authenticated. When an API accesses a user's private data, your application must also be authorized by the user to access the data. For example, accessing a public Google+ post would not require user authorization, but accessing a user's private calendar would. Also, for quota and billing purposes, all API calls involve accounting. This document summarizes the protocols used by Google APIs and provides links to more information.
+
+## Access types
+
+It is important to understand the basics of how API authentication and authorization are handled. All API calls must use either simple or authorized access (defined below). Many API methods require authorized access, but some can use either. Some API methods that can use either behave differently, depending on whether you use simple or authorized access. See the API's method documentation to determine the appropriate access type.
+
+### 1. Simple API access (API keys)
+
+These API calls do not access any private user data. Your application must authenticate itself as an application belonging to your Google API Console project. This is needed to measure project usage for accounting purposes.
+
+**API key:** To authenticate your application, use an [API key](api-keys.md) for your API Console project. Every simple access call your application makes must include this key.
+
+> **Warning:** Keep your API key private. If someone obtains your key, they could use it to consume your quota or incur charges against your API Console project.
+
+### 2. Authorized API access (OAuth 2.0)
+
+These API calls access private user data. Before you can call them, the user that has access to the private data must grant your application access. Therefore, your application must be authenticated, the user must grant access for your application, and the user must be authenticated in order to grant that access. All of this is accomplished with OAuth 2.0 and libraries written for it.
+
+**Scope:** Each API defines one or more scopes that declare a set of operations permitted. For example, an API might have read-only and read-write scopes. When your application requests access to user data, the request must include one or more scopes. The user needs to approve the scope of access your application is requesting.
+
+**Refresh and access tokens:** When a user grants your application access, the OAuth 2.0 authorization server provides your application with refresh and access tokens. These tokens are only valid for the scope requested. Your application uses access tokens to authorize API calls. Access tokens expire, but refresh tokens do not. Your application can use a refresh token to acquire a new access token.
+
+> **Warning:** Keep refresh and access tokens private. If someone obtains your tokens, they could use them to access private user data.
+
+**Client ID and client secret:** These strings uniquely identify your application and are used to acquire tokens. They are created for your project on the [API Console](https://console.developers.google.com/). There are three types of client IDs, so be sure to get the correct type for your application:
+
+- [Web application](https://developers.google.com/accounts/docs/OAuth2WebServer) client IDs
+- [Installed application](https://developers.google.com/accounts/docs/OAuth2InstalledApp) client IDs
+- [Service Account](https://developers.google.com/accounts/docs/OAuth2ServiceAccount) client IDs
+
+> **Warning:** Keep your client secret private. If someone obtains your client secret, they could use it to consume your quota, incur charges against your Console project, and request access to user data.
+
+## Using API keys
+
+More information and examples for API keys are provided on the [API Keys](api-keys.md) page.
+
+## Using OAuth 2.0
+
+More information and examples for OAuth 2.0 are provided on the [OAuth 2.0](oauth.md) page.
diff --git a/docs/batch.md b/docs/batch.md
new file mode 100644
index 0000000..b8b3105
--- /dev/null
+++ b/docs/batch.md
@@ -0,0 +1,94 @@
+# Batch
+
+Each HTTP connection that your application makes results in a certain amount of overhead.
+This library supports batching,
+to allow your application to put several API calls into a single HTTP request.
+Examples of situations when you might want to use batching:
+* You have many small requests to make and would like to minimize HTTP request overhead.
+* A user made changes to data while your application was offline,
+  so your application needs to synchronize its local data with the server
+  by sending a lot of updates and deletes.
+  
+**Note**: You're limited to 1000 calls in a single batch request.
+If you need to make more calls than that, use multiple batch requests.
+
+**Note**: You cannot use a
+[media upload](/api-client-library/python/guide/media_upload)
+object in a batch request.
+
+## Details
+You create batch requests by calling `new_batch_http_request()` on your service
+object, which returns a
+[BatchHttpRequest](https://google.github.io/google-api-python-client/docs/epy/googleapiclient.http.BatchHttpRequest-class.html)
+object, and then calling `add()` for each request you want to execute.
+You may pass in a callback with each request that is called with the response to that request.
+The callback function arguments are:
+a unique request identifier for each API call,
+a response object which contains the API call response,
+and an exception object which may be set to an exception raised by the API call.
+After you've added the requests, you call `execute()` to make the requests.
+The `execute()` function blocks until all callbacks have been called.
+
+In the following code snippet,
+two API requests are batched to a single HTTP request,
+and each API request is supplied a callback:
+  <pre class="prettyprint">
+See below</pre>
+You can also supply a single callback that gets called for each response:
+
+  <pre class="prettyprint">See below</pre>
+
+The
+[add()](https://google.github.io/google-api-python-client/docs/epy/googleapiclient.http.BatchHttpRequest-class.html#add)
+method also allows you to supply a <code>request_id</code> parameter for each request.
+These IDs are provided to the callbacks.
+If you don't supply one, the library creates one for you.
+The IDs must be unique for each API request,
+otherwise `add()` raises an exception.
+
+If you supply a callback to both `new_batch_http_request()` and `add()`, they both get called.
+ 
+
+---
+
+```python
+def list_animals(request_id, response, exception):
+  if exception is not None:
+    # Do something with the exception
+    pass
+  else:
+    # Do something with the response
+    pass
+
+def list_farmers(request_id, response):
+  """Do something with the farmers list response."""
+  pass
+
+service = build('farm', 'v2')
+
+batch = service.new_batch_http_request()
+
+batch.add(service.animals().list(), callback=list_animals)
+batch.add(service.farmers().list(), callback=list_farmers)
+batch.execute(http=http)
+```
+
+```python
+
+def insert_animal(request_id, response, exception):
+  if exception is not None:
+    # Do something with the exception
+    pass
+  else:
+    # Do something with the response
+    pass
+
+service = build('farm', 'v2')
+
+batch = service.new_batch_http_request(callback=insert_animal)
+
+batch.add(service.animals().insert(name="sheep"))
+batch.add(service.animals().insert(name="pig"))
+batch.add(service.animals().insert(name="llama"))
+batch.execute(http=http)
+```
diff --git a/docs/client-secrets.md b/docs/client-secrets.md
new file mode 100644
index 0000000..9a53882
--- /dev/null
+++ b/docs/client-secrets.md
@@ -0,0 +1,80 @@
+# Client Secrets
+
+The Google APIs Client Library for Python uses the `client_secrets.json` file format for storing the `client_id`, `client_secret`, and other OAuth 2.0 parameters.
+
+The `client_secrets.json` file format is a [JSON](http://www.json.org/) formatted file containing the client ID, client secret, and other OAuth 2.0 parameters. Here is an example client_secrets.json file for a web application:
+
+```json
+{
+  "web": {
+    "client_id": "asdfjasdljfasdkjf",
+    "client_secret": "1912308409123890",
+    "redirect_uris": ["https://www.example.com/oauth2callback"],
+    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
+    "token_uri": "https://accounts.google.com/o/oauth2/token"
+  }
+}
+```
+
+Here is an example client_secrets.json file for an installed application:
+
+```json
+{
+  "installed": {
+    "client_id": "837647042410-75ifg...usercontent.com",
+    "client_secret":"asdlkfjaskd",
+    "redirect_uris": ["http://localhost", "urn:ietf:wg:oauth:2.0:oob"],
+    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
+    "token_uri": "https://accounts.google.com/o/oauth2/token"
+  }
+}
+```
+
+The format defines one of two client ID types:
+
+- `web`: Web application.
+- `installed`: Installed application.
+
+The `web` and `installed` sub-objects have the following mandatory members:
+
+- `client_id` (string): The client ID.
+- `client_secret` (string): The client secret.
+- `redirect_uris` (list of strings): A list of valid redirection endpoint URIs. This list should match the list entered for the client ID on the [API Access pane](https://code.google.com/apis/console#:access) of the Google APIs Console.
+- `auth_uri` (string): The authorization server endpoint URI.
+- `token_uri` (string): The token server endpoint URI.
+
+All of the above members are mandatory. The following optional parameters may appear:
+
+- `client_email` (string) The service account email associated with the client.
+- `auth_provider_x509_cert_url` (string) The URL of the public x509 certificate, used to verify the signature on JWTs, such as ID tokens, signed by the authentication provider.
+- `client_x509_cert_url` (string) The URL of the public x509 certificate, used to verify JWTs signed by the client.
+
+The following examples show how use a `client_secrets.json` file to create a `Flow` object in either an installed application or a web application:
+
+### Installed App
+
+```py
+from google_auth_oauthlib.flow import InstalledAppFlow
+...
+flow = InstalledAppFlow.from_client_secrets_file(
+    'path_to_directory/client_secret.json',
+    scopes=['https://www.googleapis.com/auth/calendar'])
+```
+
+### Web Server App
+
+```py
+import google.oauth2.credentials
+import google_auth_oauthlib.flow
+
+flow = google_auth_oauthlib.flow.Flow.from_client_secrets_file(
+    'path_to_directory/client_secret.json',
+    scopes=['https://www.googleapis.com/auth/calendar'])
+
+flow.redirect_uri = 'https://www.example.com/oauth2callback'
+```
+
+## Motivation
+
+Traditionally providers of OAuth endpoints have relied upon cut-and-paste as the way users of their service move the client id and secret from a registration page into working code. That can be error prone, along with it being an incomplete picture of all the information that is needed to get OAuth 2.0 working, which requires knowing all the endpoints and configuring a Redirect Endpoint. If service providers start providing a downloadable client_secrets.json file for client information and client libraries start consuming client_secrets.json then a large amount of friction in implementing OAuth 2.0 can be reduced.
+
diff --git a/docs/django.md b/docs/django.md
new file mode 100644
index 0000000..1f676be
--- /dev/null
+++ b/docs/django.md
@@ -0,0 +1,47 @@
+# Using Django
+
+The Google APIs Client Library for Python has special support for the [Django](https://www.djangoproject.com/) web framework. In particular, there are classes that simplify the OAuth 2.0 protocol steps. This document describes the Django-specific classes available for working with [Flow](https://developers.google.com/api-client-library/python/guide/aaa_oauth#flows), [Credentials](https://developers.google.com/api-client-library/python/guide/aaa_oauth#credentials), and [Storage](https://developers.google.com/api-client-library/python/guide/aaa_oauth#storage) objects.
+
+## Flows
+
+Use the [oauth2client.contrib.django\_orm.FlowField](https://oauth2client.readthedocs.io/en/latest/source/oauth2client.contrib.django_orm.html#oauth2client.contrib.django_orm.FlowField) class as a Django model field so that `Flow` objects can easily be stored. When your application is simultaneously going through OAuth 2.0 steps for many users, it's normally best to store per-user `Flow` objects before the first redirection. This way, your redirection handlers can retrieve the `Flow` object already created for the user. In the following code, a model is defined that allows `Flow` objects to be stored and keyed by `User`:
+
+```py
+from django.contrib.auth.models import User
+from django.db import models
+from oauth2client.contrib.django_orm import FlowField
+...
+class FlowModel(models.Model):
+  id = models.ForeignKey(User, primary_key=True)
+  flow = FlowField()
+```
+
+## Credentials
+
+Use the [oauth2client.contrib.django\_orm.CredentialsField](https://oauth2client.readthedocs.io/en/latest/source/oauth2client.contrib.django_orm.html#oauth2client.contrib.django_orm.CredentialsField) class as a Django model field so that `Credentials` objects can easily be stored. Similar to `Flow` objects, it's normally best to store per-user `Credentials` objects. In the following code, a model is defined that allows `Credentials` objects to be stored and keyed by `User`:
+
+```py
+from django.contrib.auth.models import User
+from django.db import models
+from oauth2client.contrib.django_orm import CredentialsField
+...
+class CredentialsModel(models.Model):
+  id = models.ForeignKey(User, primary_key=True)
+  credential = CredentialsField()
+```
+
+## Storage
+
+Use the [oauth2client.contrib.django\_orm.Storage](https://oauth2client.readthedocs.io/en/latest/source/oauth2client.contrib.django_orm.html#oauth2client.contrib.django_orm.Storage) class to store and retrieve `Credentials` objects using a model defined with a `CredentialsField` object. You pass the model, field name for the model key, value for the model key, and field name to the `CredentialsField` constructor. The following shows how to create, read, and write `Credentials` objects using the example `CredentialsModel` class above:
+
+```py
+from django.contrib.auth.models import User
+from oauth2client.contrib.django_orm import Storage
+from your_project.your_app.models import CredentialsModel
+...
+user = # A User object usually obtained from request.
+storage = Storage(CredentialsModel, 'id', user, 'credential')
+credential = storage.get()
+...
+storage.put(credential)
+```
diff --git a/docs/dyn/abusiveexperiencereport_v1.html b/docs/dyn/abusiveexperiencereport_v1.html
new file mode 100644
index 0000000..bbd0ffd
--- /dev/null
+++ b/docs/dyn/abusiveexperiencereport_v1.html
@@ -0,0 +1,108 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="abusiveexperiencereport_v1.html">Abusive Experience Report API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="abusiveexperiencereport_v1.sites.html">sites()</a></code>
+</p>
+<p class="firstline">Returns the sites Resource.</p>
+
+<p class="toc_element">
+  <code><a href="abusiveexperiencereport_v1.violatingSites.html">violatingSites()</a></code>
+</p>
+<p class="firstline">Returns the violatingSites Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#new_batch_http_request">new_batch_http_request()</a></code></p>
+<p class="firstline">Create a BatchHttpRequest object based on the discovery document.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="new_batch_http_request">new_batch_http_request()</code>
+  <pre>Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/abusiveexperiencereport_v1.sites.html b/docs/dyn/abusiveexperiencereport_v1.sites.html
new file mode 100644
index 0000000..6cd63dc
--- /dev/null
+++ b/docs/dyn/abusiveexperiencereport_v1.sites.html
@@ -0,0 +1,113 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="abusiveexperiencereport_v1.html">Abusive Experience Report API</a> . <a href="abusiveexperiencereport_v1.sites.html">sites</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a summary of the abusive experience rating of a site.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets a summary of the abusive experience rating of a site.
+
+Args:
+  name: string, The required site name. This is the site property whose abusive
+experiences have been reviewed, and it must be URL-encoded. For example,
+sites/https%3A%2F%2Fwww.google.com. The server will return an error of
+BAD_REQUEST if this field is not filled in. Note that if the site property
+is not yet verified in Search Console, the reportUrl field
+returned by the API will lead to the verification page, prompting the user
+to go through that process before they can gain access to the Abusive
+Experience Report. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for GetSiteSummary.
+    "lastChangeTime": "A String", # The last time that the site changed status.
+    "abusiveStatus": "A String", # The status of the site reviewed for the abusive experiences.
+    "reportUrl": "A String", # A link that leads to a full abusive experience report.
+    "underReview": True or False, # Whether the site is currently under review.
+    "enforcementTime": "A String", # The date on which enforcement begins.
+    "filterStatus": "A String", # The abusive experience enforcement status of the site.
+    "reviewedSite": "A String", # The name of the site reviewed.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/abusiveexperiencereport_v1.violatingSites.html b/docs/dyn/abusiveexperiencereport_v1.violatingSites.html
new file mode 100644
index 0000000..9221f5e
--- /dev/null
+++ b/docs/dyn/abusiveexperiencereport_v1.violatingSites.html
@@ -0,0 +1,109 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="abusiveexperiencereport_v1.html">Abusive Experience Report API</a> . <a href="abusiveexperiencereport_v1.violatingSites.html">violatingSites</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(x__xgafv=None)</a></code></p>
+<p class="firstline">Lists sites with Abusive Experience Report statuses of "Failing".</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(x__xgafv=None)</code>
+  <pre>Lists sites with Abusive Experience Report statuses of "Failing".
+
+Args:
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for ListViolatingSites.
+    "violatingSites": [ # A list of summaries of violating sites.
+      { # Response message for GetSiteSummary.
+        "lastChangeTime": "A String", # The last time that the site changed status.
+        "abusiveStatus": "A String", # The status of the site reviewed for the abusive experiences.
+        "reportUrl": "A String", # A link that leads to a full abusive experience report.
+        "underReview": True or False, # Whether the site is currently under review.
+        "enforcementTime": "A String", # The date on which enforcement begins.
+        "filterStatus": "A String", # The abusive experience enforcement status of the site.
+        "reviewedSite": "A String", # The name of the site reviewed.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accessapproval_v1beta1.folders.approvalRequests.html b/docs/dyn/accessapproval_v1beta1.folders.approvalRequests.html
new file mode 100644
index 0000000..8b5969b
--- /dev/null
+++ b/docs/dyn/accessapproval_v1beta1.folders.approvalRequests.html
@@ -0,0 +1,459 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accessapproval_v1beta1.html">Access Approval API</a> . <a href="accessapproval_v1beta1.folders.html">folders</a> . <a href="accessapproval_v1beta1.folders.approvalRequests.html">approvalRequests</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#approve">approve(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Approves a request and returns the updated ApprovalRequest.</p>
+<p class="toc_element">
+  <code><a href="#dismiss">dismiss(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Dismisses a request. Returns the updated ApprovalRequest.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets an approval request. Returns NOT_FOUND if the request does not exist.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p>
+<p class="firstline">Lists approval requests associated with a project, folder, or organization.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="approve">approve(name, body, x__xgafv=None)</code>
+  <pre>Approves a request and returns the updated ApprovalRequest.
+
+Returns NOT_FOUND if the request does not exist. Returns
+FAILED_PRECONDITION if the request exists but is not in a pending state.
+
+Args:
+  name: string, Name of the approval request to approve. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to approve an ApprovalRequest.
+    "expireTime": "A String", # The expiration time of this approval.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A request for the customer to approve access to a resource.
+    "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+      "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+          # requested.
+    },
+    "requestTime": "A String", # The time at which approval was requested.
+    "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+        # access will be granted from the time of approval until the expiration time.
+    "name": "A String", # The resource name of the request. Format is
+        # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+    "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+      "dismissTime": "A String", # The time at which the approval request was dismissed.
+    },
+    "requestedReason": { # The justification for which approval is being requested.
+      "type": "A String", # Type of access justification.
+      "detail": "A String", # More detail about certain reason types. See comments for each type above.
+    },
+    "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+        # resource name is defined at
+        # https://cloud.google.com/apis/design/resource_names. The resource name here
+        # may either be a "full" resource name (e.g.
+        # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+        # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+        # resource name specification.
+    "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+      "expireTime": "A String", # The time at which the approval expires.
+      "approveTime": "A String", # The time at which approval was granted.
+    },
+    "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+      "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+          # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+          # limited situations Google systems may refer refer to a region code instead
+          # of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+      "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+          # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+          # a region code. In some limited situations Google systems may refer refer to
+          # a region code instead of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="dismiss">dismiss(name, body=None, x__xgafv=None)</code>
+  <pre>Dismisses a request. Returns the updated ApprovalRequest.
+
+NOTE: This does not deny access to the resource if another request has been
+made and approved. It is equivalent in effect to ignoring the request
+altogether.
+
+Returns NOT_FOUND if the request does not exist.
+
+Returns FAILED_PRECONDITION if the request exists but is not in a pending
+state.
+
+Args:
+  name: string, Name of the ApprovalRequest to dismiss. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to dismiss an approval request.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A request for the customer to approve access to a resource.
+    "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+      "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+          # requested.
+    },
+    "requestTime": "A String", # The time at which approval was requested.
+    "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+        # access will be granted from the time of approval until the expiration time.
+    "name": "A String", # The resource name of the request. Format is
+        # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+    "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+      "dismissTime": "A String", # The time at which the approval request was dismissed.
+    },
+    "requestedReason": { # The justification for which approval is being requested.
+      "type": "A String", # Type of access justification.
+      "detail": "A String", # More detail about certain reason types. See comments for each type above.
+    },
+    "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+        # resource name is defined at
+        # https://cloud.google.com/apis/design/resource_names. The resource name here
+        # may either be a "full" resource name (e.g.
+        # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+        # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+        # resource name specification.
+    "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+      "expireTime": "A String", # The time at which the approval expires.
+      "approveTime": "A String", # The time at which approval was granted.
+    },
+    "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+      "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+          # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+          # limited situations Google systems may refer refer to a region code instead
+          # of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+      "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+          # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+          # a region code. In some limited situations Google systems may refer refer to
+          # a region code instead of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets an approval request. Returns NOT_FOUND if the request does not exist.
+
+Args:
+  name: string, Name of the approval request to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A request for the customer to approve access to a resource.
+    "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+      "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+          # requested.
+    },
+    "requestTime": "A String", # The time at which approval was requested.
+    "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+        # access will be granted from the time of approval until the expiration time.
+    "name": "A String", # The resource name of the request. Format is
+        # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+    "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+      "dismissTime": "A String", # The time at which the approval request was dismissed.
+    },
+    "requestedReason": { # The justification for which approval is being requested.
+      "type": "A String", # Type of access justification.
+      "detail": "A String", # More detail about certain reason types. See comments for each type above.
+    },
+    "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+        # resource name is defined at
+        # https://cloud.google.com/apis/design/resource_names. The resource name here
+        # may either be a "full" resource name (e.g.
+        # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+        # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+        # resource name specification.
+    "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+      "expireTime": "A String", # The time at which the approval expires.
+      "approveTime": "A String", # The time at which approval was granted.
+    },
+    "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+      "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+          # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+          # limited situations Google systems may refer refer to a region code instead
+          # of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+      "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+          # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+          # a region code. In some limited situations Google systems may refer refer to
+          # a region code instead of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code>
+  <pre>Lists approval requests associated with a project, folder, or organization.
+Approval requests can be filtered by state (pending, active, dismissed).
+The order is reverse chronological.
+
+Args:
+  parent: string, The parent resource. This may be "projects/{project_id}",
+"folders/{folder_id}", or "organizations/{organization_id}". (required)
+  pageToken: string, A token identifying the page of results to return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, Requested page size.
+  filter: string, A filter on the type of approval requests to retrieve. Must be one of the
+following values:
+<ol>
+  <li>[not set]: Requests that are pending or have active approvals.</li>
+  <li>ALL: All requests.</li>
+  <li>PENDING: Only pending requests.</li>
+  <li>ACTIVE: Only active (i.e. currently approved) requests.</li>
+  <li>DISMISSED: Only dismissed (including expired) requests.</li>
+</ol>
+
+Returns:
+  An object of the form:
+
+    { # Response to listing of ApprovalRequest objects.
+    "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more.
+    "approvalRequests": [ # Approval request details.
+      { # A request for the customer to approve access to a resource.
+        "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+          "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+              # requested.
+        },
+        "requestTime": "A String", # The time at which approval was requested.
+        "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+            # access will be granted from the time of approval until the expiration time.
+        "name": "A String", # The resource name of the request. Format is
+            # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+        "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+          "dismissTime": "A String", # The time at which the approval request was dismissed.
+        },
+        "requestedReason": { # The justification for which approval is being requested.
+          "type": "A String", # Type of access justification.
+          "detail": "A String", # More detail about certain reason types. See comments for each type above.
+        },
+        "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+            # resource name is defined at
+            # https://cloud.google.com/apis/design/resource_names. The resource name here
+            # may either be a "full" resource name (e.g.
+            # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+            # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+            # resource name specification.
+        "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+          "expireTime": "A String", # The time at which the approval expires.
+          "approveTime": "A String", # The time at which approval was granted.
+        },
+        "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+          "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+              # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+              # limited situations Google systems may refer refer to a region code instead
+              # of a country code.
+              # Possible Region Codes:
+              # <ol>
+              #   <li>ASI: Asia</li>
+              #   <li>EUR: Europe</li>
+              #   <li>OCE: Oceania</li>
+              #   <li>AFR: Africa</li>
+              #   <li>NAM: North America</li>
+              #   <li>SAM: South America</li>
+              #   <li>ANT: Antarctica</li>
+              #   <li>ANY: Any location</li>
+              # </ol>
+          "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+              # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+              # a region code. In some limited situations Google systems may refer refer to
+              # a region code instead of a country code.
+              # Possible Region Codes:
+              # <ol>
+              #   <li>ASI: Asia</li>
+              #   <li>EUR: Europe</li>
+              #   <li>OCE: Oceania</li>
+              #   <li>AFR: Africa</li>
+              #   <li>NAM: North America</li>
+              #   <li>SAM: South America</li>
+              #   <li>ANT: Antarctica</li>
+              #   <li>ANY: Any location</li>
+              # </ol>
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accessapproval_v1beta1.folders.html b/docs/dyn/accessapproval_v1beta1.folders.html
new file mode 100644
index 0000000..6409d2d
--- /dev/null
+++ b/docs/dyn/accessapproval_v1beta1.folders.html
@@ -0,0 +1,170 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accessapproval_v1beta1.html">Access Approval API</a> . <a href="accessapproval_v1beta1.folders.html">folders</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="accessapproval_v1beta1.folders.approvalRequests.html">approvalRequests()</a></code>
+</p>
+<p class="firstline">Returns the approvalRequests Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#getAccessApprovalSettings">getAccessApprovalSettings(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the settings associated with a project, folder, or organization.</p>
+<p class="toc_element">
+  <code><a href="#updateAccessApprovalSettings">updateAccessApprovalSettings(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the settings associated with a project, folder, or organization.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="getAccessApprovalSettings">getAccessApprovalSettings(name, x__xgafv=None)</code>
+  <pre>Gets the settings associated with a project, folder, or organization.
+
+Args:
+  name: string, Name of the AccessApprovalSettings to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Settings on a Project/Folder/Organization related to Access Approval.
+    "notificationEmails": [ # A list of email addresses to which notifications relating to approval
+        # requests should be sent. Notifications relating to a resource will be sent
+        # to all emails in the settings of ancestor resources of that resource.
+      "A String",
+    ],
+    "name": "A String", # The resource name of the settings. Format is one of:
+        # <ol>
+        #   <li>"projects/{project_id}/accessApprovalSettings"</li>
+        #   <li>"folders/{folder_id}/accessApprovalSettings"</li>
+        #   <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+        # <ol>
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateAccessApprovalSettings">updateAccessApprovalSettings(name, body, x__xgafv=None)</code>
+  <pre>Updates the settings associated with a project, folder, or organization.
+Completely replaces the existing settings.
+
+Args:
+  name: string, The resource name of the settings. Format is one of:
+<ol>
+  <li>"projects/{project_id}/accessApprovalSettings"</li>
+  <li>"folders/{folder_id}/accessApprovalSettings"</li>
+  <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+<ol> (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Settings on a Project/Folder/Organization related to Access Approval.
+  "notificationEmails": [ # A list of email addresses to which notifications relating to approval
+      # requests should be sent. Notifications relating to a resource will be sent
+      # to all emails in the settings of ancestor resources of that resource.
+    "A String",
+  ],
+  "name": "A String", # The resource name of the settings. Format is one of:
+      # <ol>
+      #   <li>"projects/{project_id}/accessApprovalSettings"</li>
+      #   <li>"folders/{folder_id}/accessApprovalSettings"</li>
+      #   <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+      # <ol>
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Settings on a Project/Folder/Organization related to Access Approval.
+    "notificationEmails": [ # A list of email addresses to which notifications relating to approval
+        # requests should be sent. Notifications relating to a resource will be sent
+        # to all emails in the settings of ancestor resources of that resource.
+      "A String",
+    ],
+    "name": "A String", # The resource name of the settings. Format is one of:
+        # <ol>
+        #   <li>"projects/{project_id}/accessApprovalSettings"</li>
+        #   <li>"folders/{folder_id}/accessApprovalSettings"</li>
+        #   <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+        # <ol>
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accessapproval_v1beta1.html b/docs/dyn/accessapproval_v1beta1.html
new file mode 100644
index 0000000..a2f1383
--- /dev/null
+++ b/docs/dyn/accessapproval_v1beta1.html
@@ -0,0 +1,113 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accessapproval_v1beta1.html">Access Approval API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="accessapproval_v1beta1.folders.html">folders()</a></code>
+</p>
+<p class="firstline">Returns the folders Resource.</p>
+
+<p class="toc_element">
+  <code><a href="accessapproval_v1beta1.organizations.html">organizations()</a></code>
+</p>
+<p class="firstline">Returns the organizations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="accessapproval_v1beta1.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#new_batch_http_request">new_batch_http_request()</a></code></p>
+<p class="firstline">Create a BatchHttpRequest object based on the discovery document.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="new_batch_http_request">new_batch_http_request()</code>
+  <pre>Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accessapproval_v1beta1.organizations.approvalRequests.html b/docs/dyn/accessapproval_v1beta1.organizations.approvalRequests.html
new file mode 100644
index 0000000..767f52f
--- /dev/null
+++ b/docs/dyn/accessapproval_v1beta1.organizations.approvalRequests.html
@@ -0,0 +1,459 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accessapproval_v1beta1.html">Access Approval API</a> . <a href="accessapproval_v1beta1.organizations.html">organizations</a> . <a href="accessapproval_v1beta1.organizations.approvalRequests.html">approvalRequests</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#approve">approve(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Approves a request and returns the updated ApprovalRequest.</p>
+<p class="toc_element">
+  <code><a href="#dismiss">dismiss(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Dismisses a request. Returns the updated ApprovalRequest.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets an approval request. Returns NOT_FOUND if the request does not exist.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</a></code></p>
+<p class="firstline">Lists approval requests associated with a project, folder, or organization.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="approve">approve(name, body, x__xgafv=None)</code>
+  <pre>Approves a request and returns the updated ApprovalRequest.
+
+Returns NOT_FOUND if the request does not exist. Returns
+FAILED_PRECONDITION if the request exists but is not in a pending state.
+
+Args:
+  name: string, Name of the approval request to approve. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to approve an ApprovalRequest.
+    "expireTime": "A String", # The expiration time of this approval.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A request for the customer to approve access to a resource.
+    "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+      "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+          # requested.
+    },
+    "requestTime": "A String", # The time at which approval was requested.
+    "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+        # access will be granted from the time of approval until the expiration time.
+    "name": "A String", # The resource name of the request. Format is
+        # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+    "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+      "dismissTime": "A String", # The time at which the approval request was dismissed.
+    },
+    "requestedReason": { # The justification for which approval is being requested.
+      "type": "A String", # Type of access justification.
+      "detail": "A String", # More detail about certain reason types. See comments for each type above.
+    },
+    "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+        # resource name is defined at
+        # https://cloud.google.com/apis/design/resource_names. The resource name here
+        # may either be a "full" resource name (e.g.
+        # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+        # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+        # resource name specification.
+    "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+      "expireTime": "A String", # The time at which the approval expires.
+      "approveTime": "A String", # The time at which approval was granted.
+    },
+    "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+      "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+          # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+          # limited situations Google systems may refer refer to a region code instead
+          # of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+      "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+          # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+          # a region code. In some limited situations Google systems may refer refer to
+          # a region code instead of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="dismiss">dismiss(name, body=None, x__xgafv=None)</code>
+  <pre>Dismisses a request. Returns the updated ApprovalRequest.
+
+NOTE: This does not deny access to the resource if another request has been
+made and approved. It is equivalent in effect to ignoring the request
+altogether.
+
+Returns NOT_FOUND if the request does not exist.
+
+Returns FAILED_PRECONDITION if the request exists but is not in a pending
+state.
+
+Args:
+  name: string, Name of the ApprovalRequest to dismiss. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to dismiss an approval request.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A request for the customer to approve access to a resource.
+    "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+      "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+          # requested.
+    },
+    "requestTime": "A String", # The time at which approval was requested.
+    "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+        # access will be granted from the time of approval until the expiration time.
+    "name": "A String", # The resource name of the request. Format is
+        # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+    "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+      "dismissTime": "A String", # The time at which the approval request was dismissed.
+    },
+    "requestedReason": { # The justification for which approval is being requested.
+      "type": "A String", # Type of access justification.
+      "detail": "A String", # More detail about certain reason types. See comments for each type above.
+    },
+    "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+        # resource name is defined at
+        # https://cloud.google.com/apis/design/resource_names. The resource name here
+        # may either be a "full" resource name (e.g.
+        # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+        # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+        # resource name specification.
+    "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+      "expireTime": "A String", # The time at which the approval expires.
+      "approveTime": "A String", # The time at which approval was granted.
+    },
+    "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+      "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+          # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+          # limited situations Google systems may refer refer to a region code instead
+          # of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+      "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+          # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+          # a region code. In some limited situations Google systems may refer refer to
+          # a region code instead of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets an approval request. Returns NOT_FOUND if the request does not exist.
+
+Args:
+  name: string, Name of the approval request to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A request for the customer to approve access to a resource.
+    "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+      "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+          # requested.
+    },
+    "requestTime": "A String", # The time at which approval was requested.
+    "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+        # access will be granted from the time of approval until the expiration time.
+    "name": "A String", # The resource name of the request. Format is
+        # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+    "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+      "dismissTime": "A String", # The time at which the approval request was dismissed.
+    },
+    "requestedReason": { # The justification for which approval is being requested.
+      "type": "A String", # Type of access justification.
+      "detail": "A String", # More detail about certain reason types. See comments for each type above.
+    },
+    "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+        # resource name is defined at
+        # https://cloud.google.com/apis/design/resource_names. The resource name here
+        # may either be a "full" resource name (e.g.
+        # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+        # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+        # resource name specification.
+    "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+      "expireTime": "A String", # The time at which the approval expires.
+      "approveTime": "A String", # The time at which approval was granted.
+    },
+    "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+      "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+          # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+          # limited situations Google systems may refer refer to a region code instead
+          # of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+      "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+          # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+          # a region code. In some limited situations Google systems may refer refer to
+          # a region code instead of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</code>
+  <pre>Lists approval requests associated with a project, folder, or organization.
+Approval requests can be filtered by state (pending, active, dismissed).
+The order is reverse chronological.
+
+Args:
+  parent: string, The parent resource. This may be "projects/{project_id}",
+"folders/{folder_id}", or "organizations/{organization_id}". (required)
+  pageSize: integer, Requested page size.
+  pageToken: string, A token identifying the page of results to return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  filter: string, A filter on the type of approval requests to retrieve. Must be one of the
+following values:
+<ol>
+  <li>[not set]: Requests that are pending or have active approvals.</li>
+  <li>ALL: All requests.</li>
+  <li>PENDING: Only pending requests.</li>
+  <li>ACTIVE: Only active (i.e. currently approved) requests.</li>
+  <li>DISMISSED: Only dismissed (including expired) requests.</li>
+</ol>
+
+Returns:
+  An object of the form:
+
+    { # Response to listing of ApprovalRequest objects.
+    "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more.
+    "approvalRequests": [ # Approval request details.
+      { # A request for the customer to approve access to a resource.
+        "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+          "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+              # requested.
+        },
+        "requestTime": "A String", # The time at which approval was requested.
+        "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+            # access will be granted from the time of approval until the expiration time.
+        "name": "A String", # The resource name of the request. Format is
+            # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+        "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+          "dismissTime": "A String", # The time at which the approval request was dismissed.
+        },
+        "requestedReason": { # The justification for which approval is being requested.
+          "type": "A String", # Type of access justification.
+          "detail": "A String", # More detail about certain reason types. See comments for each type above.
+        },
+        "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+            # resource name is defined at
+            # https://cloud.google.com/apis/design/resource_names. The resource name here
+            # may either be a "full" resource name (e.g.
+            # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+            # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+            # resource name specification.
+        "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+          "expireTime": "A String", # The time at which the approval expires.
+          "approveTime": "A String", # The time at which approval was granted.
+        },
+        "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+          "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+              # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+              # limited situations Google systems may refer refer to a region code instead
+              # of a country code.
+              # Possible Region Codes:
+              # <ol>
+              #   <li>ASI: Asia</li>
+              #   <li>EUR: Europe</li>
+              #   <li>OCE: Oceania</li>
+              #   <li>AFR: Africa</li>
+              #   <li>NAM: North America</li>
+              #   <li>SAM: South America</li>
+              #   <li>ANT: Antarctica</li>
+              #   <li>ANY: Any location</li>
+              # </ol>
+          "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+              # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+              # a region code. In some limited situations Google systems may refer refer to
+              # a region code instead of a country code.
+              # Possible Region Codes:
+              # <ol>
+              #   <li>ASI: Asia</li>
+              #   <li>EUR: Europe</li>
+              #   <li>OCE: Oceania</li>
+              #   <li>AFR: Africa</li>
+              #   <li>NAM: North America</li>
+              #   <li>SAM: South America</li>
+              #   <li>ANT: Antarctica</li>
+              #   <li>ANY: Any location</li>
+              # </ol>
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accessapproval_v1beta1.organizations.html b/docs/dyn/accessapproval_v1beta1.organizations.html
new file mode 100644
index 0000000..0687961
--- /dev/null
+++ b/docs/dyn/accessapproval_v1beta1.organizations.html
@@ -0,0 +1,170 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accessapproval_v1beta1.html">Access Approval API</a> . <a href="accessapproval_v1beta1.organizations.html">organizations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="accessapproval_v1beta1.organizations.approvalRequests.html">approvalRequests()</a></code>
+</p>
+<p class="firstline">Returns the approvalRequests Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#getAccessApprovalSettings">getAccessApprovalSettings(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the settings associated with a project, folder, or organization.</p>
+<p class="toc_element">
+  <code><a href="#updateAccessApprovalSettings">updateAccessApprovalSettings(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the settings associated with a project, folder, or organization.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="getAccessApprovalSettings">getAccessApprovalSettings(name, x__xgafv=None)</code>
+  <pre>Gets the settings associated with a project, folder, or organization.
+
+Args:
+  name: string, Name of the AccessApprovalSettings to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Settings on a Project/Folder/Organization related to Access Approval.
+    "notificationEmails": [ # A list of email addresses to which notifications relating to approval
+        # requests should be sent. Notifications relating to a resource will be sent
+        # to all emails in the settings of ancestor resources of that resource.
+      "A String",
+    ],
+    "name": "A String", # The resource name of the settings. Format is one of:
+        # <ol>
+        #   <li>"projects/{project_id}/accessApprovalSettings"</li>
+        #   <li>"folders/{folder_id}/accessApprovalSettings"</li>
+        #   <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+        # <ol>
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateAccessApprovalSettings">updateAccessApprovalSettings(name, body, x__xgafv=None)</code>
+  <pre>Updates the settings associated with a project, folder, or organization.
+Completely replaces the existing settings.
+
+Args:
+  name: string, The resource name of the settings. Format is one of:
+<ol>
+  <li>"projects/{project_id}/accessApprovalSettings"</li>
+  <li>"folders/{folder_id}/accessApprovalSettings"</li>
+  <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+<ol> (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Settings on a Project/Folder/Organization related to Access Approval.
+  "notificationEmails": [ # A list of email addresses to which notifications relating to approval
+      # requests should be sent. Notifications relating to a resource will be sent
+      # to all emails in the settings of ancestor resources of that resource.
+    "A String",
+  ],
+  "name": "A String", # The resource name of the settings. Format is one of:
+      # <ol>
+      #   <li>"projects/{project_id}/accessApprovalSettings"</li>
+      #   <li>"folders/{folder_id}/accessApprovalSettings"</li>
+      #   <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+      # <ol>
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Settings on a Project/Folder/Organization related to Access Approval.
+    "notificationEmails": [ # A list of email addresses to which notifications relating to approval
+        # requests should be sent. Notifications relating to a resource will be sent
+        # to all emails in the settings of ancestor resources of that resource.
+      "A String",
+    ],
+    "name": "A String", # The resource name of the settings. Format is one of:
+        # <ol>
+        #   <li>"projects/{project_id}/accessApprovalSettings"</li>
+        #   <li>"folders/{folder_id}/accessApprovalSettings"</li>
+        #   <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+        # <ol>
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accessapproval_v1beta1.projects.approvalRequests.html b/docs/dyn/accessapproval_v1beta1.projects.approvalRequests.html
new file mode 100644
index 0000000..bccc899
--- /dev/null
+++ b/docs/dyn/accessapproval_v1beta1.projects.approvalRequests.html
@@ -0,0 +1,459 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accessapproval_v1beta1.html">Access Approval API</a> . <a href="accessapproval_v1beta1.projects.html">projects</a> . <a href="accessapproval_v1beta1.projects.approvalRequests.html">approvalRequests</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#approve">approve(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Approves a request and returns the updated ApprovalRequest.</p>
+<p class="toc_element">
+  <code><a href="#dismiss">dismiss(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Dismisses a request. Returns the updated ApprovalRequest.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets an approval request. Returns NOT_FOUND if the request does not exist.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</a></code></p>
+<p class="firstline">Lists approval requests associated with a project, folder, or organization.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="approve">approve(name, body, x__xgafv=None)</code>
+  <pre>Approves a request and returns the updated ApprovalRequest.
+
+Returns NOT_FOUND if the request does not exist. Returns
+FAILED_PRECONDITION if the request exists but is not in a pending state.
+
+Args:
+  name: string, Name of the approval request to approve. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to approve an ApprovalRequest.
+    "expireTime": "A String", # The expiration time of this approval.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A request for the customer to approve access to a resource.
+    "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+      "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+          # requested.
+    },
+    "requestTime": "A String", # The time at which approval was requested.
+    "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+        # access will be granted from the time of approval until the expiration time.
+    "name": "A String", # The resource name of the request. Format is
+        # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+    "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+      "dismissTime": "A String", # The time at which the approval request was dismissed.
+    },
+    "requestedReason": { # The justification for which approval is being requested.
+      "type": "A String", # Type of access justification.
+      "detail": "A String", # More detail about certain reason types. See comments for each type above.
+    },
+    "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+        # resource name is defined at
+        # https://cloud.google.com/apis/design/resource_names. The resource name here
+        # may either be a "full" resource name (e.g.
+        # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+        # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+        # resource name specification.
+    "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+      "expireTime": "A String", # The time at which the approval expires.
+      "approveTime": "A String", # The time at which approval was granted.
+    },
+    "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+      "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+          # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+          # limited situations Google systems may refer refer to a region code instead
+          # of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+      "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+          # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+          # a region code. In some limited situations Google systems may refer refer to
+          # a region code instead of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="dismiss">dismiss(name, body=None, x__xgafv=None)</code>
+  <pre>Dismisses a request. Returns the updated ApprovalRequest.
+
+NOTE: This does not deny access to the resource if another request has been
+made and approved. It is equivalent in effect to ignoring the request
+altogether.
+
+Returns NOT_FOUND if the request does not exist.
+
+Returns FAILED_PRECONDITION if the request exists but is not in a pending
+state.
+
+Args:
+  name: string, Name of the ApprovalRequest to dismiss. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to dismiss an approval request.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A request for the customer to approve access to a resource.
+    "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+      "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+          # requested.
+    },
+    "requestTime": "A String", # The time at which approval was requested.
+    "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+        # access will be granted from the time of approval until the expiration time.
+    "name": "A String", # The resource name of the request. Format is
+        # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+    "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+      "dismissTime": "A String", # The time at which the approval request was dismissed.
+    },
+    "requestedReason": { # The justification for which approval is being requested.
+      "type": "A String", # Type of access justification.
+      "detail": "A String", # More detail about certain reason types. See comments for each type above.
+    },
+    "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+        # resource name is defined at
+        # https://cloud.google.com/apis/design/resource_names. The resource name here
+        # may either be a "full" resource name (e.g.
+        # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+        # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+        # resource name specification.
+    "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+      "expireTime": "A String", # The time at which the approval expires.
+      "approveTime": "A String", # The time at which approval was granted.
+    },
+    "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+      "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+          # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+          # limited situations Google systems may refer refer to a region code instead
+          # of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+      "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+          # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+          # a region code. In some limited situations Google systems may refer refer to
+          # a region code instead of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets an approval request. Returns NOT_FOUND if the request does not exist.
+
+Args:
+  name: string, Name of the approval request to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A request for the customer to approve access to a resource.
+    "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+      "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+          # requested.
+    },
+    "requestTime": "A String", # The time at which approval was requested.
+    "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+        # access will be granted from the time of approval until the expiration time.
+    "name": "A String", # The resource name of the request. Format is
+        # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+    "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+      "dismissTime": "A String", # The time at which the approval request was dismissed.
+    },
+    "requestedReason": { # The justification for which approval is being requested.
+      "type": "A String", # Type of access justification.
+      "detail": "A String", # More detail about certain reason types. See comments for each type above.
+    },
+    "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+        # resource name is defined at
+        # https://cloud.google.com/apis/design/resource_names. The resource name here
+        # may either be a "full" resource name (e.g.
+        # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+        # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+        # resource name specification.
+    "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+      "expireTime": "A String", # The time at which the approval expires.
+      "approveTime": "A String", # The time at which approval was granted.
+    },
+    "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+      "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+          # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+          # limited situations Google systems may refer refer to a region code instead
+          # of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+      "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+          # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+          # a region code. In some limited situations Google systems may refer refer to
+          # a region code instead of a country code.
+          # Possible Region Codes:
+          # <ol>
+          #   <li>ASI: Asia</li>
+          #   <li>EUR: Europe</li>
+          #   <li>OCE: Oceania</li>
+          #   <li>AFR: Africa</li>
+          #   <li>NAM: North America</li>
+          #   <li>SAM: South America</li>
+          #   <li>ANT: Antarctica</li>
+          #   <li>ANY: Any location</li>
+          # </ol>
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</code>
+  <pre>Lists approval requests associated with a project, folder, or organization.
+Approval requests can be filtered by state (pending, active, dismissed).
+The order is reverse chronological.
+
+Args:
+  parent: string, The parent resource. This may be "projects/{project_id}",
+"folders/{folder_id}", or "organizations/{organization_id}". (required)
+  pageSize: integer, Requested page size.
+  pageToken: string, A token identifying the page of results to return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  filter: string, A filter on the type of approval requests to retrieve. Must be one of the
+following values:
+<ol>
+  <li>[not set]: Requests that are pending or have active approvals.</li>
+  <li>ALL: All requests.</li>
+  <li>PENDING: Only pending requests.</li>
+  <li>ACTIVE: Only active (i.e. currently approved) requests.</li>
+  <li>DISMISSED: Only dismissed (including expired) requests.</li>
+</ol>
+
+Returns:
+  An object of the form:
+
+    { # Response to listing of ApprovalRequest objects.
+    "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more.
+    "approvalRequests": [ # Approval request details.
+      { # A request for the customer to approve access to a resource.
+        "requestedResourceProperties": { # The properties associated with the resource of the request. # Properties related to the resource represented by requested_resource_name.
+          "excludesDescendants": True or False, # Whether an approval will exclude the descendants of the resource being
+              # requested.
+        },
+        "requestTime": "A String", # The time at which approval was requested.
+        "requestedExpiration": "A String", # The requested expiration for the approval. If the request is approved,
+            # access will be granted from the time of approval until the expiration time.
+        "name": "A String", # The resource name of the request. Format is
+            # "{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}".
+        "dismiss": { # A decision that has been made to dismiss an approval request. # The request was dismissed.
+          "dismissTime": "A String", # The time at which the approval request was dismissed.
+        },
+        "requestedReason": { # The justification for which approval is being requested.
+          "type": "A String", # Type of access justification.
+          "detail": "A String", # More detail about certain reason types. See comments for each type above.
+        },
+        "requestedResourceName": "A String", # The resource for which approval is being requested. The format of the
+            # resource name is defined at
+            # https://cloud.google.com/apis/design/resource_names. The resource name here
+            # may either be a "full" resource name (e.g.
+            # "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative"
+            # resource name (e.g. "shelves/shelf1/books/book2") as described in the
+            # resource name specification.
+        "approve": { # A decision that has been made to approve access to a resource. # Access was approved.
+          "expireTime": "A String", # The time at which the approval expires.
+          "approveTime": "A String", # The time at which approval was granted.
+        },
+        "requestedLocations": { # Home office and physical location of the principal. # The locations for which approval is being requested.
+          "principalOfficeCountry": "A String", # The "home office" location of the principal. A two-letter country code
+              # (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some
+              # limited situations Google systems may refer refer to a region code instead
+              # of a country code.
+              # Possible Region Codes:
+              # <ol>
+              #   <li>ASI: Asia</li>
+              #   <li>EUR: Europe</li>
+              #   <li>OCE: Oceania</li>
+              #   <li>AFR: Africa</li>
+              #   <li>NAM: North America</li>
+              #   <li>SAM: South America</li>
+              #   <li>ANT: Antarctica</li>
+              #   <li>ANY: Any location</li>
+              # </ol>
+          "principalPhysicalLocationCountry": "A String", # Physical location of the principal at the time of the access. A
+              # two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or
+              # a region code. In some limited situations Google systems may refer refer to
+              # a region code instead of a country code.
+              # Possible Region Codes:
+              # <ol>
+              #   <li>ASI: Asia</li>
+              #   <li>EUR: Europe</li>
+              #   <li>OCE: Oceania</li>
+              #   <li>AFR: Africa</li>
+              #   <li>NAM: North America</li>
+              #   <li>SAM: South America</li>
+              #   <li>ANT: Antarctica</li>
+              #   <li>ANY: Any location</li>
+              # </ol>
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accessapproval_v1beta1.projects.html b/docs/dyn/accessapproval_v1beta1.projects.html
new file mode 100644
index 0000000..44fab4e
--- /dev/null
+++ b/docs/dyn/accessapproval_v1beta1.projects.html
@@ -0,0 +1,170 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accessapproval_v1beta1.html">Access Approval API</a> . <a href="accessapproval_v1beta1.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="accessapproval_v1beta1.projects.approvalRequests.html">approvalRequests()</a></code>
+</p>
+<p class="firstline">Returns the approvalRequests Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#getAccessApprovalSettings">getAccessApprovalSettings(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the settings associated with a project, folder, or organization.</p>
+<p class="toc_element">
+  <code><a href="#updateAccessApprovalSettings">updateAccessApprovalSettings(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the settings associated with a project, folder, or organization.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="getAccessApprovalSettings">getAccessApprovalSettings(name, x__xgafv=None)</code>
+  <pre>Gets the settings associated with a project, folder, or organization.
+
+Args:
+  name: string, Name of the AccessApprovalSettings to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Settings on a Project/Folder/Organization related to Access Approval.
+    "notificationEmails": [ # A list of email addresses to which notifications relating to approval
+        # requests should be sent. Notifications relating to a resource will be sent
+        # to all emails in the settings of ancestor resources of that resource.
+      "A String",
+    ],
+    "name": "A String", # The resource name of the settings. Format is one of:
+        # <ol>
+        #   <li>"projects/{project_id}/accessApprovalSettings"</li>
+        #   <li>"folders/{folder_id}/accessApprovalSettings"</li>
+        #   <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+        # <ol>
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateAccessApprovalSettings">updateAccessApprovalSettings(name, body, x__xgafv=None)</code>
+  <pre>Updates the settings associated with a project, folder, or organization.
+Completely replaces the existing settings.
+
+Args:
+  name: string, The resource name of the settings. Format is one of:
+<ol>
+  <li>"projects/{project_id}/accessApprovalSettings"</li>
+  <li>"folders/{folder_id}/accessApprovalSettings"</li>
+  <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+<ol> (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Settings on a Project/Folder/Organization related to Access Approval.
+  "notificationEmails": [ # A list of email addresses to which notifications relating to approval
+      # requests should be sent. Notifications relating to a resource will be sent
+      # to all emails in the settings of ancestor resources of that resource.
+    "A String",
+  ],
+  "name": "A String", # The resource name of the settings. Format is one of:
+      # <ol>
+      #   <li>"projects/{project_id}/accessApprovalSettings"</li>
+      #   <li>"folders/{folder_id}/accessApprovalSettings"</li>
+      #   <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+      # <ol>
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Settings on a Project/Folder/Organization related to Access Approval.
+    "notificationEmails": [ # A list of email addresses to which notifications relating to approval
+        # requests should be sent. Notifications relating to a resource will be sent
+        # to all emails in the settings of ancestor resources of that resource.
+      "A String",
+    ],
+    "name": "A String", # The resource name of the settings. Format is one of:
+        # <ol>
+        #   <li>"projects/{project_id}/accessApprovalSettings"</li>
+        #   <li>"folders/{folder_id}/accessApprovalSettings"</li>
+        #   <li>"organizations/{organization_id}/accessApprovalSettings"</li>
+        # <ol>
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1.accessPolicies.accessLevels.html b/docs/dyn/accesscontextmanager_v1.accessPolicies.accessLevels.html
new file mode 100644
index 0000000..c245f92
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1.accessPolicies.accessLevels.html
@@ -0,0 +1,739 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1.accessPolicies.html">accessPolicies</a> . <a href="accesscontextmanager_v1.accessPolicies.accessLevels.html">accessLevels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create an Access Level. The longrunning</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Delete an Access Level by resource</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, accessLevelFormat=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Get an Access Level by resource</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, accessLevelFormat=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">List all Access Levels for an access</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update an Access Level. The longrunning</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+  <pre>Create an Access Level. The longrunning
+operation from this RPC will have a successful status once the Access
+Level has
+propagated to long-lasting storage. Access Levels containing
+errors will result in an error response for the first error encountered.
+
+Args:
+  parent: string, Required. Resource name for the access policy which owns this Access
+Level.
+
+Format: `accessPolicies/{policy_id}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An `AccessLevel` is a label that can be applied to requests to GCP services,
+      # along with a list of requirements necessary for the label to be applied.
+    "updateTime": "A String", # Output only. Time the `AccessLevel` was updated in UTC.
+    "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
+    "title": "A String", # Human readable title. Must be unique within the Policy.
+    "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
+      "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
+          # granted this `AccessLevel`. If AND is used, each `Condition` in
+          # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
+          # is used, at least one `Condition` in `conditions` must be satisfied for the
+          # `AccessLevel` to be applied. Default behavior is AND.
+      "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
+        { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
+            # AND over its fields. So a Condition is true if: 1) the request IP is from one
+            # of the listed subnetworks AND 2) the originating device complies with the
+            # listed device policy AND 3) all listed access levels are granted AND 4) the
+            # request was sent at a time allowed by the DateTimeRestriction.
+          "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
+              # resource name. Referencing an `AccessLevel` which does not exist is an
+              # error. All access levels listed must be granted for the Condition
+              # to be true. Example:
+              # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
+            "A String",
+          ],
+          "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
+              # Condition to be true. If not specified, all devices are allowed.
+              # given access level. A `DevicePolicy` specifies requirements for requests from
+              # devices to be granted access levels, it does not do any enforcement on the
+              # device. `DevicePolicy` acts as an AND over all specified fields, and each
+              # repeated field is an OR over its elements. Any unset fields are ignored. For
+              # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
+              # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
+              # true for requests originating from encrypted Linux desktops and encrypted
+              # Windows desktops.
+            "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
+              "A String",
+            ],
+            "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
+              { # A restriction on the OS type and version of devices making requests.
+                "osType": "A String", # Required. The allowed OS type.
+                "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
+                    # Verifications includes requirements that the device is enterprise-managed,
+                    # conformant to Dasher domain policies, and the caller has permission to call
+                    # the API targeted by the request.
+                "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
+                    # satisfies the constraint. Format: `"major.minor.patch"`.
+                    # Examples: `"10.5.301"`, `"9.2.1"`.
+              },
+            ],
+            "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
+            "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
+            "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
+                # levels.
+              "A String",
+            ],
+            "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
+                # Defaults to `false`.
+          },
+          "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
+              # a CIDR IP address block, the specified IP address portion must be properly
+              # truncated (i.e. all the host bits must be zero) or the input is considered
+              # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
+              # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
+              # "2001:db8::1/32" is not. The originating IP of a request must be in one of
+              # the listed subnets in order for this Condition to be true. If empty, all IP
+              # addresses are allowed.
+            "A String",
+          ],
+          "regions": [ # The request must originate from one of the provided countries/regions.
+              # Must be valid ISO 3166-1 alpha-2 codes.
+            "A String",
+          ],
+          "members": [ # The request must be made by one of the provided user or service
+              # accounts. Groups are not supported.
+              # Syntax:
+              # `user:{emailid}`
+              # `serviceAccount:{emailid}`
+              # If not specified, a request may come from any user.
+            "A String",
+          ],
+          "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
+              # its non-empty fields, each field must be false for the Condition overall to
+              # be satisfied. Defaults to false.
+        },
+      ],
+    },
+    "createTime": "A String", # Output only. Time the `AccessLevel` was created in UTC.
+    "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
+        # must begin with a letter and only include alphanumeric and '_'. Format:
+        # `accessPolicies/{policy_id}/accessLevels/{short_name}`
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Delete an Access Level by resource
+name. The longrunning operation from this RPC will have a successful status
+once the Access Level has been removed
+from long-lasting storage.
+
+Args:
+  name: string, Required. Resource name for the Access Level.
+
+Format:
+`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, accessLevelFormat=None, x__xgafv=None)</code>
+  <pre>Get an Access Level by resource
+name.
+
+Args:
+  name: string, Required. Resource name for the Access Level.
+
+Format:
+`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
+  accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression
+Language rather than as `BasicLevels`. Defaults to AS_DEFINED, where
+Access Levels
+are returned as `BasicLevels` or `CustomLevels` based on how they were
+created. If set to CEL, all Access Levels are returned as
+`CustomLevels`. In the CEL case, `BasicLevels` are translated to equivalent
+`CustomLevels`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An `AccessLevel` is a label that can be applied to requests to GCP services,
+        # along with a list of requirements necessary for the label to be applied.
+      "updateTime": "A String", # Output only. Time the `AccessLevel` was updated in UTC.
+      "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
+      "title": "A String", # Human readable title. Must be unique within the Policy.
+      "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
+        "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
+            # granted this `AccessLevel`. If AND is used, each `Condition` in
+            # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
+            # is used, at least one `Condition` in `conditions` must be satisfied for the
+            # `AccessLevel` to be applied. Default behavior is AND.
+        "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
+          { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
+              # AND over its fields. So a Condition is true if: 1) the request IP is from one
+              # of the listed subnetworks AND 2) the originating device complies with the
+              # listed device policy AND 3) all listed access levels are granted AND 4) the
+              # request was sent at a time allowed by the DateTimeRestriction.
+            "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
+                # resource name. Referencing an `AccessLevel` which does not exist is an
+                # error. All access levels listed must be granted for the Condition
+                # to be true. Example:
+                # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
+              "A String",
+            ],
+            "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
+                # Condition to be true. If not specified, all devices are allowed.
+                # given access level. A `DevicePolicy` specifies requirements for requests from
+                # devices to be granted access levels, it does not do any enforcement on the
+                # device. `DevicePolicy` acts as an AND over all specified fields, and each
+                # repeated field is an OR over its elements. Any unset fields are ignored. For
+                # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
+                # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
+                # true for requests originating from encrypted Linux desktops and encrypted
+                # Windows desktops.
+              "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
+                "A String",
+              ],
+              "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
+                { # A restriction on the OS type and version of devices making requests.
+                  "osType": "A String", # Required. The allowed OS type.
+                  "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
+                      # Verifications includes requirements that the device is enterprise-managed,
+                      # conformant to Dasher domain policies, and the caller has permission to call
+                      # the API targeted by the request.
+                  "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
+                      # satisfies the constraint. Format: `"major.minor.patch"`.
+                      # Examples: `"10.5.301"`, `"9.2.1"`.
+                },
+              ],
+              "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
+              "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
+              "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
+                  # levels.
+                "A String",
+              ],
+              "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
+                  # Defaults to `false`.
+            },
+            "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
+                # a CIDR IP address block, the specified IP address portion must be properly
+                # truncated (i.e. all the host bits must be zero) or the input is considered
+                # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
+                # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
+                # "2001:db8::1/32" is not. The originating IP of a request must be in one of
+                # the listed subnets in order for this Condition to be true. If empty, all IP
+                # addresses are allowed.
+              "A String",
+            ],
+            "regions": [ # The request must originate from one of the provided countries/regions.
+                # Must be valid ISO 3166-1 alpha-2 codes.
+              "A String",
+            ],
+            "members": [ # The request must be made by one of the provided user or service
+                # accounts. Groups are not supported.
+                # Syntax:
+                # `user:{emailid}`
+                # `serviceAccount:{emailid}`
+                # If not specified, a request may come from any user.
+              "A String",
+            ],
+            "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
+                # its non-empty fields, each field must be false for the Condition overall to
+                # be satisfied. Defaults to false.
+          },
+        ],
+      },
+      "createTime": "A String", # Output only. Time the `AccessLevel` was created in UTC.
+      "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
+          # must begin with a letter and only include alphanumeric and '_'. Format:
+          # `accessPolicies/{policy_id}/accessLevels/{short_name}`
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, accessLevelFormat=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>List all Access Levels for an access
+policy.
+
+Args:
+  parent: string, Required. Resource name for the access policy to list Access Levels from.
+
+Format:
+`accessPolicies/{policy_id}` (required)
+  accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression language, as
+`CustomLevels`, rather than as `BasicLevels`. Defaults to returning
+`AccessLevels` in the format they were defined.
+  pageSize: integer, Number of Access Levels to include in
+the list. Default 100.
+  pageToken: string, Next page token for the next batch of Access Level instances.
+Defaults to the first page of results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A response to `ListAccessLevelsRequest`.
+    "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
+        # empty, no further results remain.
+    "accessLevels": [ # List of the Access Level instances.
+      { # An `AccessLevel` is a label that can be applied to requests to GCP services,
+            # along with a list of requirements necessary for the label to be applied.
+          "updateTime": "A String", # Output only. Time the `AccessLevel` was updated in UTC.
+          "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
+          "title": "A String", # Human readable title. Must be unique within the Policy.
+          "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
+            "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
+                # granted this `AccessLevel`. If AND is used, each `Condition` in
+                # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
+                # is used, at least one `Condition` in `conditions` must be satisfied for the
+                # `AccessLevel` to be applied. Default behavior is AND.
+            "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
+              { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
+                  # AND over its fields. So a Condition is true if: 1) the request IP is from one
+                  # of the listed subnetworks AND 2) the originating device complies with the
+                  # listed device policy AND 3) all listed access levels are granted AND 4) the
+                  # request was sent at a time allowed by the DateTimeRestriction.
+                "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
+                    # resource name. Referencing an `AccessLevel` which does not exist is an
+                    # error. All access levels listed must be granted for the Condition
+                    # to be true. Example:
+                    # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
+                  "A String",
+                ],
+                "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
+                    # Condition to be true. If not specified, all devices are allowed.
+                    # given access level. A `DevicePolicy` specifies requirements for requests from
+                    # devices to be granted access levels, it does not do any enforcement on the
+                    # device. `DevicePolicy` acts as an AND over all specified fields, and each
+                    # repeated field is an OR over its elements. Any unset fields are ignored. For
+                    # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
+                    # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
+                    # true for requests originating from encrypted Linux desktops and encrypted
+                    # Windows desktops.
+                  "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
+                    "A String",
+                  ],
+                  "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
+                    { # A restriction on the OS type and version of devices making requests.
+                      "osType": "A String", # Required. The allowed OS type.
+                      "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
+                          # Verifications includes requirements that the device is enterprise-managed,
+                          # conformant to Dasher domain policies, and the caller has permission to call
+                          # the API targeted by the request.
+                      "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
+                          # satisfies the constraint. Format: `"major.minor.patch"`.
+                          # Examples: `"10.5.301"`, `"9.2.1"`.
+                    },
+                  ],
+                  "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
+                  "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
+                  "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
+                      # levels.
+                    "A String",
+                  ],
+                  "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
+                      # Defaults to `false`.
+                },
+                "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
+                    # a CIDR IP address block, the specified IP address portion must be properly
+                    # truncated (i.e. all the host bits must be zero) or the input is considered
+                    # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
+                    # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
+                    # "2001:db8::1/32" is not. The originating IP of a request must be in one of
+                    # the listed subnets in order for this Condition to be true. If empty, all IP
+                    # addresses are allowed.
+                  "A String",
+                ],
+                "regions": [ # The request must originate from one of the provided countries/regions.
+                    # Must be valid ISO 3166-1 alpha-2 codes.
+                  "A String",
+                ],
+                "members": [ # The request must be made by one of the provided user or service
+                    # accounts. Groups are not supported.
+                    # Syntax:
+                    # `user:{emailid}`
+                    # `serviceAccount:{emailid}`
+                    # If not specified, a request may come from any user.
+                  "A String",
+                ],
+                "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
+                    # its non-empty fields, each field must be false for the Condition overall to
+                    # be satisfied. Defaults to false.
+              },
+            ],
+          },
+          "createTime": "A String", # Output only. Time the `AccessLevel` was created in UTC.
+          "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
+              # must begin with a letter and only include alphanumeric and '_'. Format:
+              # `accessPolicies/{policy_id}/accessLevels/{short_name}`
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+  <pre>Update an Access Level. The longrunning
+operation from this RPC will have a successful status once the changes to
+the Access Level have propagated
+to long-lasting storage. Access Levels containing
+errors will result in an error response for the first error encountered.
+
+Args:
+  name: string, Required. Resource name for the Access Level. The `short_name` component
+must begin with a letter and only include alphanumeric and '_'. Format:
+`accessPolicies/{policy_id}/accessLevels/{short_name}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An `AccessLevel` is a label that can be applied to requests to GCP services,
+      # along with a list of requirements necessary for the label to be applied.
+    "updateTime": "A String", # Output only. Time the `AccessLevel` was updated in UTC.
+    "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
+    "title": "A String", # Human readable title. Must be unique within the Policy.
+    "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
+      "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
+          # granted this `AccessLevel`. If AND is used, each `Condition` in
+          # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
+          # is used, at least one `Condition` in `conditions` must be satisfied for the
+          # `AccessLevel` to be applied. Default behavior is AND.
+      "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
+        { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
+            # AND over its fields. So a Condition is true if: 1) the request IP is from one
+            # of the listed subnetworks AND 2) the originating device complies with the
+            # listed device policy AND 3) all listed access levels are granted AND 4) the
+            # request was sent at a time allowed by the DateTimeRestriction.
+          "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
+              # resource name. Referencing an `AccessLevel` which does not exist is an
+              # error. All access levels listed must be granted for the Condition
+              # to be true. Example:
+              # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
+            "A String",
+          ],
+          "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
+              # Condition to be true. If not specified, all devices are allowed.
+              # given access level. A `DevicePolicy` specifies requirements for requests from
+              # devices to be granted access levels, it does not do any enforcement on the
+              # device. `DevicePolicy` acts as an AND over all specified fields, and each
+              # repeated field is an OR over its elements. Any unset fields are ignored. For
+              # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
+              # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
+              # true for requests originating from encrypted Linux desktops and encrypted
+              # Windows desktops.
+            "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
+              "A String",
+            ],
+            "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
+              { # A restriction on the OS type and version of devices making requests.
+                "osType": "A String", # Required. The allowed OS type.
+                "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
+                    # Verifications includes requirements that the device is enterprise-managed,
+                    # conformant to Dasher domain policies, and the caller has permission to call
+                    # the API targeted by the request.
+                "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
+                    # satisfies the constraint. Format: `"major.minor.patch"`.
+                    # Examples: `"10.5.301"`, `"9.2.1"`.
+              },
+            ],
+            "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
+            "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
+            "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
+                # levels.
+              "A String",
+            ],
+            "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
+                # Defaults to `false`.
+          },
+          "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
+              # a CIDR IP address block, the specified IP address portion must be properly
+              # truncated (i.e. all the host bits must be zero) or the input is considered
+              # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
+              # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
+              # "2001:db8::1/32" is not. The originating IP of a request must be in one of
+              # the listed subnets in order for this Condition to be true. If empty, all IP
+              # addresses are allowed.
+            "A String",
+          ],
+          "regions": [ # The request must originate from one of the provided countries/regions.
+              # Must be valid ISO 3166-1 alpha-2 codes.
+            "A String",
+          ],
+          "members": [ # The request must be made by one of the provided user or service
+              # accounts. Groups are not supported.
+              # Syntax:
+              # `user:{emailid}`
+              # `serviceAccount:{emailid}`
+              # If not specified, a request may come from any user.
+            "A String",
+          ],
+          "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
+              # its non-empty fields, each field must be false for the Condition overall to
+              # be satisfied. Defaults to false.
+        },
+      ],
+    },
+    "createTime": "A String", # Output only. Time the `AccessLevel` was created in UTC.
+    "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
+        # must begin with a letter and only include alphanumeric and '_'. Format:
+        # `accessPolicies/{policy_id}/accessLevels/{short_name}`
+  }
+
+  updateMask: string, Required.  Mask to control which fields get updated. Must be non-empty.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1.accessPolicies.html b/docs/dyn/accesscontextmanager_v1.accessPolicies.html
new file mode 100644
index 0000000..1b5e8e1
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1.accessPolicies.html
@@ -0,0 +1,423 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1.accessPolicies.html">accessPolicies</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="accesscontextmanager_v1.accessPolicies.accessLevels.html">accessLevels()</a></code>
+</p>
+<p class="firstline">Returns the accessLevels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="accesscontextmanager_v1.accessPolicies.servicePerimeters.html">servicePerimeters()</a></code>
+</p>
+<p class="firstline">Returns the servicePerimeters Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create an `AccessPolicy`. Fails if this organization already has a</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Delete an AccessPolicy by resource</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Get an AccessPolicy by name.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent=None, pageToken=None, x__xgafv=None, pageSize=None)</a></code></p>
+<p class="firstline">List all AccessPolicies under a</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update an AccessPolicy. The</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body, x__xgafv=None)</code>
+  <pre>Create an `AccessPolicy`. Fails if this organization already has a
+`AccessPolicy`. The longrunning Operation will have a successful status
+once the `AccessPolicy` has propagated to long-lasting storage.
+Syntactic and basic semantic errors will be returned in `metadata` as a
+BadRequest proto.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
+      # attributes to use GCP services) and `ServicePerimeters` (which define regions
+      # of services able to freely pass data within a perimeter). An access policy is
+      # globally visible within an organization, and the restrictions it specifies
+      # apply to all projects within an organization.
+    "updateTime": "A String", # Output only. Time the `AccessPolicy` was updated in UTC.
+    "title": "A String", # Required. Human readable title. Does not affect behavior.
+    "name": "A String", # Output only. Resource name of the `AccessPolicy`. Format:
+        # `accessPolicies/{policy_id}`
+    "parent": "A String", # Required. The parent of this `AccessPolicy` in the Cloud Resource
+        # Hierarchy. Currently immutable once created. Format:
+        # `organizations/{organization_id}`
+    "createTime": "A String", # Output only. Time the `AccessPolicy` was created in UTC.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Delete an AccessPolicy by resource
+name. The longrunning Operation will have a successful status once the
+AccessPolicy
+has been removed from long-lasting storage.
+
+Args:
+  name: string, Required. Resource name for the access policy to delete.
+
+Format `accessPolicies/{policy_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Get an AccessPolicy by name.
+
+Args:
+  name: string, Required. Resource name for the access policy to get.
+
+Format `accessPolicies/{policy_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
+        # attributes to use GCP services) and `ServicePerimeters` (which define regions
+        # of services able to freely pass data within a perimeter). An access policy is
+        # globally visible within an organization, and the restrictions it specifies
+        # apply to all projects within an organization.
+      "updateTime": "A String", # Output only. Time the `AccessPolicy` was updated in UTC.
+      "title": "A String", # Required. Human readable title. Does not affect behavior.
+      "name": "A String", # Output only. Resource name of the `AccessPolicy`. Format:
+          # `accessPolicies/{policy_id}`
+      "parent": "A String", # Required. The parent of this `AccessPolicy` in the Cloud Resource
+          # Hierarchy. Currently immutable once created. Format:
+          # `organizations/{organization_id}`
+      "createTime": "A String", # Output only. Time the `AccessPolicy` was created in UTC.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent=None, pageToken=None, x__xgafv=None, pageSize=None)</code>
+  <pre>List all AccessPolicies under a
+container.
+
+Args:
+  parent: string, Required. Resource name for the container to list AccessPolicy instances
+from.
+
+Format:
+`organizations/{org_id}`
+  pageToken: string, Next page token for the next batch of AccessPolicy instances. Defaults to
+the first page of results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, Number of AccessPolicy instances to include in the list. Default 100.
+
+Returns:
+  An object of the form:
+
+    { # A response to `ListAccessPoliciesRequest`.
+    "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
+        # empty, no further results remain.
+    "accessPolicies": [ # List of the AccessPolicy instances.
+      { # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
+            # attributes to use GCP services) and `ServicePerimeters` (which define regions
+            # of services able to freely pass data within a perimeter). An access policy is
+            # globally visible within an organization, and the restrictions it specifies
+            # apply to all projects within an organization.
+          "updateTime": "A String", # Output only. Time the `AccessPolicy` was updated in UTC.
+          "title": "A String", # Required. Human readable title. Does not affect behavior.
+          "name": "A String", # Output only. Resource name of the `AccessPolicy`. Format:
+              # `accessPolicies/{policy_id}`
+          "parent": "A String", # Required. The parent of this `AccessPolicy` in the Cloud Resource
+              # Hierarchy. Currently immutable once created. Format:
+              # `organizations/{organization_id}`
+          "createTime": "A String", # Output only. Time the `AccessPolicy` was created in UTC.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+  <pre>Update an AccessPolicy. The
+longrunning Operation from this RPC will have a successful status once the
+changes to the AccessPolicy have propagated
+to long-lasting storage. Syntactic and basic semantic errors will be
+returned in `metadata` as a BadRequest proto.
+
+Args:
+  name: string, Output only. Resource name of the `AccessPolicy`. Format:
+`accessPolicies/{policy_id}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
+      # attributes to use GCP services) and `ServicePerimeters` (which define regions
+      # of services able to freely pass data within a perimeter). An access policy is
+      # globally visible within an organization, and the restrictions it specifies
+      # apply to all projects within an organization.
+    "updateTime": "A String", # Output only. Time the `AccessPolicy` was updated in UTC.
+    "title": "A String", # Required. Human readable title. Does not affect behavior.
+    "name": "A String", # Output only. Resource name of the `AccessPolicy`. Format:
+        # `accessPolicies/{policy_id}`
+    "parent": "A String", # Required. The parent of this `AccessPolicy` in the Cloud Resource
+        # Hierarchy. Currently immutable once created. Format:
+        # `organizations/{organization_id}`
+    "createTime": "A String", # Output only. Time the `AccessPolicy` was created in UTC.
+  }
+
+  updateMask: string, Required. Mask to control which fields get updated. Must be non-empty.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1.accessPolicies.servicePerimeters.html b/docs/dyn/accesscontextmanager_v1.accessPolicies.servicePerimeters.html
new file mode 100644
index 0000000..c26b8e1
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1.accessPolicies.servicePerimeters.html
@@ -0,0 +1,557 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1.accessPolicies.html">accessPolicies</a> . <a href="accesscontextmanager_v1.accessPolicies.servicePerimeters.html">servicePerimeters</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create an Service Perimeter. The</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Delete an Service Perimeter by resource</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Get an Service Perimeter by resource</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None)</a></code></p>
+<p class="firstline">List all Service Perimeters for an</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update an Service Perimeter. The</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+  <pre>Create an Service Perimeter. The
+longrunning operation from this RPC will have a successful status once the
+Service Perimeter has
+propagated to long-lasting storage. Service Perimeters containing
+errors will result in an error response for the first error encountered.
+
+Args:
+  parent: string, Required. Resource name for the access policy which owns this Service
+Perimeter.
+
+Format: `accessPolicies/{policy_id}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `ServicePerimeter` describes a set of GCP resources which can freely import
+      # and export data amongst themselves, but not export outside of the
+      # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
+      # has a target outside of the `ServicePerimeter`, the request will be blocked.
+      # Otherwise the request is allowed. There are two types of Service Perimeter -
+      # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
+      # project can only belong to a single regular Service Perimeter. Service
+      # Perimeter Bridges can contain only GCP projects as members, a single GCP
+      # project may belong to multiple Service Perimeter Bridges.
+    "status": { # `ServicePerimeterConfig` specifies a set of GCP resources that describe # Current ServicePerimeter configuration. Specifies sets of resources,
+        # restricted services and access levels that determine perimeter
+        # content and boundaries.
+        # specific Service Perimeter configuration.
+      "restrictedServices": [ # GCP services that are subject to the Service Perimeter restrictions. For
+          # example, if `storage.googleapis.com` is specified, access to the storage
+          # buckets inside the perimeter must meet the perimeter's access restrictions.
+        "A String",
+      ],
+      "resources": [ # A list of GCP resources that are inside of the service perimeter.
+          # Currently only projects are allowed. Format: `projects/{project_number}`
+        "A String",
+      ],
+      "accessLevels": [ # A list of `AccessLevel` resource names that allow resources within the
+          # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
+          # must be in the same policy as this `ServicePerimeter`. Referencing a
+          # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
+          # listed, resources within the perimeter can only be accessed via GCP calls
+          # with request origins within the perimeter. Example:
+          # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
+          # For Service Perimeter Bridge, must be empty.
+        "A String",
+      ],
+    },
+    "updateTime": "A String", # Output only. Time the `ServicePerimeter` was updated in UTC.
+    "name": "A String", # Required. Resource name for the ServicePerimeter.  The `short_name`
+        # component must begin with a letter and only include alphanumeric and '_'.
+        # Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+    "title": "A String", # Human readable title. Must be unique within the Policy.
+    "perimeterType": "A String", # Perimeter type indicator. A single project is
+        # allowed to be a member of single regular perimeter, but multiple service
+        # perimeter bridges. A project cannot be a included in a perimeter bridge
+        # without being included in regular perimeter. For perimeter bridges,
+        # the restricted service list as well as access level lists must be
+        # empty.
+    "createTime": "A String", # Output only. Time the `ServicePerimeter` was created in UTC.
+    "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+        # behavior.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Delete an Service Perimeter by resource
+name. The longrunning operation from this RPC will have a successful status
+once the Service Perimeter has been
+removed from long-lasting storage.
+
+Args:
+  name: string, Required. Resource name for the Service Perimeter.
+
+Format:
+`accessPolicies/{policy_id}/servicePerimeters/{service_perimeter_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Get an Service Perimeter by resource
+name.
+
+Args:
+  name: string, Required. Resource name for the Service Perimeter.
+
+Format:
+`accessPolicies/{policy_id}/servicePerimeters/{service_perimeters_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # `ServicePerimeter` describes a set of GCP resources which can freely import
+        # and export data amongst themselves, but not export outside of the
+        # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
+        # has a target outside of the `ServicePerimeter`, the request will be blocked.
+        # Otherwise the request is allowed. There are two types of Service Perimeter -
+        # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
+        # project can only belong to a single regular Service Perimeter. Service
+        # Perimeter Bridges can contain only GCP projects as members, a single GCP
+        # project may belong to multiple Service Perimeter Bridges.
+      "status": { # `ServicePerimeterConfig` specifies a set of GCP resources that describe # Current ServicePerimeter configuration. Specifies sets of resources,
+          # restricted services and access levels that determine perimeter
+          # content and boundaries.
+          # specific Service Perimeter configuration.
+        "restrictedServices": [ # GCP services that are subject to the Service Perimeter restrictions. For
+            # example, if `storage.googleapis.com` is specified, access to the storage
+            # buckets inside the perimeter must meet the perimeter's access restrictions.
+          "A String",
+        ],
+        "resources": [ # A list of GCP resources that are inside of the service perimeter.
+            # Currently only projects are allowed. Format: `projects/{project_number}`
+          "A String",
+        ],
+        "accessLevels": [ # A list of `AccessLevel` resource names that allow resources within the
+            # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
+            # must be in the same policy as this `ServicePerimeter`. Referencing a
+            # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
+            # listed, resources within the perimeter can only be accessed via GCP calls
+            # with request origins within the perimeter. Example:
+            # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
+            # For Service Perimeter Bridge, must be empty.
+          "A String",
+        ],
+      },
+      "updateTime": "A String", # Output only. Time the `ServicePerimeter` was updated in UTC.
+      "name": "A String", # Required. Resource name for the ServicePerimeter.  The `short_name`
+          # component must begin with a letter and only include alphanumeric and '_'.
+          # Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+      "title": "A String", # Human readable title. Must be unique within the Policy.
+      "perimeterType": "A String", # Perimeter type indicator. A single project is
+          # allowed to be a member of single regular perimeter, but multiple service
+          # perimeter bridges. A project cannot be a included in a perimeter bridge
+          # without being included in regular perimeter. For perimeter bridges,
+          # the restricted service list as well as access level lists must be
+          # empty.
+      "createTime": "A String", # Output only. Time the `ServicePerimeter` was created in UTC.
+      "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+          # behavior.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None)</code>
+  <pre>List all Service Perimeters for an
+access policy.
+
+Args:
+  parent: string, Required. Resource name for the access policy to list Service Perimeters from.
+
+Format:
+`accessPolicies/{policy_id}` (required)
+  pageToken: string, Next page token for the next batch of Service Perimeter instances.
+Defaults to the first page of results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, Number of Service Perimeters to include
+in the list. Default 100.
+
+Returns:
+  An object of the form:
+
+    { # A response to `ListServicePerimetersRequest`.
+    "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
+        # empty, no further results remain.
+    "servicePerimeters": [ # List of the Service Perimeter instances.
+      { # `ServicePerimeter` describes a set of GCP resources which can freely import
+            # and export data amongst themselves, but not export outside of the
+            # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
+            # has a target outside of the `ServicePerimeter`, the request will be blocked.
+            # Otherwise the request is allowed. There are two types of Service Perimeter -
+            # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
+            # project can only belong to a single regular Service Perimeter. Service
+            # Perimeter Bridges can contain only GCP projects as members, a single GCP
+            # project may belong to multiple Service Perimeter Bridges.
+          "status": { # `ServicePerimeterConfig` specifies a set of GCP resources that describe # Current ServicePerimeter configuration. Specifies sets of resources,
+              # restricted services and access levels that determine perimeter
+              # content and boundaries.
+              # specific Service Perimeter configuration.
+            "restrictedServices": [ # GCP services that are subject to the Service Perimeter restrictions. For
+                # example, if `storage.googleapis.com` is specified, access to the storage
+                # buckets inside the perimeter must meet the perimeter's access restrictions.
+              "A String",
+            ],
+            "resources": [ # A list of GCP resources that are inside of the service perimeter.
+                # Currently only projects are allowed. Format: `projects/{project_number}`
+              "A String",
+            ],
+            "accessLevels": [ # A list of `AccessLevel` resource names that allow resources within the
+                # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
+                # must be in the same policy as this `ServicePerimeter`. Referencing a
+                # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
+                # listed, resources within the perimeter can only be accessed via GCP calls
+                # with request origins within the perimeter. Example:
+                # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
+                # For Service Perimeter Bridge, must be empty.
+              "A String",
+            ],
+          },
+          "updateTime": "A String", # Output only. Time the `ServicePerimeter` was updated in UTC.
+          "name": "A String", # Required. Resource name for the ServicePerimeter.  The `short_name`
+              # component must begin with a letter and only include alphanumeric and '_'.
+              # Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+          "title": "A String", # Human readable title. Must be unique within the Policy.
+          "perimeterType": "A String", # Perimeter type indicator. A single project is
+              # allowed to be a member of single regular perimeter, but multiple service
+              # perimeter bridges. A project cannot be a included in a perimeter bridge
+              # without being included in regular perimeter. For perimeter bridges,
+              # the restricted service list as well as access level lists must be
+              # empty.
+          "createTime": "A String", # Output only. Time the `ServicePerimeter` was created in UTC.
+          "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+              # behavior.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+  <pre>Update an Service Perimeter. The
+longrunning operation from this RPC will have a successful status once the
+changes to the Service Perimeter have
+propagated to long-lasting storage. Service Perimeter containing
+errors will result in an error response for the first error encountered.
+
+Args:
+  name: string, Required. Resource name for the ServicePerimeter.  The `short_name`
+component must begin with a letter and only include alphanumeric and '_'.
+Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `ServicePerimeter` describes a set of GCP resources which can freely import
+      # and export data amongst themselves, but not export outside of the
+      # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
+      # has a target outside of the `ServicePerimeter`, the request will be blocked.
+      # Otherwise the request is allowed. There are two types of Service Perimeter -
+      # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
+      # project can only belong to a single regular Service Perimeter. Service
+      # Perimeter Bridges can contain only GCP projects as members, a single GCP
+      # project may belong to multiple Service Perimeter Bridges.
+    "status": { # `ServicePerimeterConfig` specifies a set of GCP resources that describe # Current ServicePerimeter configuration. Specifies sets of resources,
+        # restricted services and access levels that determine perimeter
+        # content and boundaries.
+        # specific Service Perimeter configuration.
+      "restrictedServices": [ # GCP services that are subject to the Service Perimeter restrictions. For
+          # example, if `storage.googleapis.com` is specified, access to the storage
+          # buckets inside the perimeter must meet the perimeter's access restrictions.
+        "A String",
+      ],
+      "resources": [ # A list of GCP resources that are inside of the service perimeter.
+          # Currently only projects are allowed. Format: `projects/{project_number}`
+        "A String",
+      ],
+      "accessLevels": [ # A list of `AccessLevel` resource names that allow resources within the
+          # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
+          # must be in the same policy as this `ServicePerimeter`. Referencing a
+          # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
+          # listed, resources within the perimeter can only be accessed via GCP calls
+          # with request origins within the perimeter. Example:
+          # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
+          # For Service Perimeter Bridge, must be empty.
+        "A String",
+      ],
+    },
+    "updateTime": "A String", # Output only. Time the `ServicePerimeter` was updated in UTC.
+    "name": "A String", # Required. Resource name for the ServicePerimeter.  The `short_name`
+        # component must begin with a letter and only include alphanumeric and '_'.
+        # Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+    "title": "A String", # Human readable title. Must be unique within the Policy.
+    "perimeterType": "A String", # Perimeter type indicator. A single project is
+        # allowed to be a member of single regular perimeter, but multiple service
+        # perimeter bridges. A project cannot be a included in a perimeter bridge
+        # without being included in regular perimeter. For perimeter bridges,
+        # the restricted service list as well as access level lists must be
+        # empty.
+    "createTime": "A String", # Output only. Time the `ServicePerimeter` was created in UTC.
+    "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+        # behavior.
+  }
+
+  updateMask: string, Required. Mask to control which fields get updated. Must be non-empty.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1.html b/docs/dyn/accesscontextmanager_v1.html
new file mode 100644
index 0000000..7409d65
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1.html
@@ -0,0 +1,108 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1.html">Access Context Manager API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="accesscontextmanager_v1.accessPolicies.html">accessPolicies()</a></code>
+</p>
+<p class="firstline">Returns the accessPolicies Resource.</p>
+
+<p class="toc_element">
+  <code><a href="accesscontextmanager_v1.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#new_batch_http_request">new_batch_http_request()</a></code></p>
+<p class="firstline">Create a BatchHttpRequest object based on the discovery document.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="new_batch_http_request">new_batch_http_request()</code>
+  <pre>Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1.operations.html b/docs/dyn/accesscontextmanager_v1.operations.html
new file mode 100644
index 0000000..ad8d6f9
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1.operations.html
@@ -0,0 +1,314 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#cancel">cancel(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Starts asynchronous cancellation on a long-running operation.  The server</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a long-running operation. This method indicates that the client is</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the latest state of a long-running operation.  Clients can use this</p>
+<p class="toc_element">
+  <code><a href="#list">list(name, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p>
+<p class="firstline">Lists operations that match the specified filter in the request. If the</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="cancel">cancel(name, body=None, x__xgafv=None)</code>
+  <pre>Starts asynchronous cancellation on a long-running operation.  The server
+makes a best effort to cancel the operation, but success is not
+guaranteed.  If the server doesn't support this method, it returns
+`google.rpc.Code.UNIMPLEMENTED`.  Clients can use
+Operations.GetOperation or
+other methods to check whether the cancellation succeeded or whether the
+operation completed despite cancellation. On successful cancellation,
+the operation is not deleted; instead, it becomes an operation with
+an Operation.error value with a google.rpc.Status.code of 1,
+corresponding to `Code.CANCELLED`.
+
+Args:
+  name: string, The name of the operation resource to be cancelled. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request message for Operations.CancelOperation.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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 `{}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes a long-running operation. This method indicates that the client is
+no longer interested in the operation result. It does not cancel the
+operation. If the server doesn't support this method, it returns
+`google.rpc.Code.UNIMPLEMENTED`.
+
+Args:
+  name: string, The name of the operation resource to be deleted. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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 `{}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the latest state of a long-running operation.  Clients can use this
+method to poll the operation result at intervals as recommended by the API
+service.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(name, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code>
+  <pre>Lists operations that match the specified filter in the request. If the
+server doesn't support this method, it returns `UNIMPLEMENTED`.
+
+NOTE: the `name` binding allows API services to override the binding
+to use different resource name schemes, such as `users/*/operations`. To
+override the binding, API services can add a binding such as
+`"/v1/{name=users/*}/operations"` to their service configuration.
+For backwards compatibility, the default name includes the operations
+collection id, however overriding users must ensure the name binding
+is the parent resource, without the operations collection id.
+
+Args:
+  name: string, The name of the operation's parent resource. (required)
+  pageToken: string, The standard list page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, The standard list page size.
+  filter: string, The standard list filter.
+
+Returns:
+  An object of the form:
+
+    { # The response message for Operations.ListOperations.
+    "nextPageToken": "A String", # The standard List next-page token.
+    "operations": [ # A list of operations that matches the specified filter in the request.
+      { # This resource represents a long-running operation that is the result of a
+          # network API call.
+        "metadata": { # Service-specific metadata associated with the operation.  It typically
+            # contains progress information and common metadata such as create time.
+            # Some services might not provide such metadata.  Any method that returns a
+            # long-running operation should document the metadata type, if any.
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+            # different programming environments, including REST APIs and RPC APIs. It is
+            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+            # three pieces of data: error code, error message, and error details.
+            #
+            # You can find out more about this error model and how to work with it in the
+            # [API Design Guide](https://cloud.google.com/apis/design/errors).
+          "message": "A String", # A developer-facing error message, which should be in English. Any
+              # user-facing error message should be localized and sent in the
+              # google.rpc.Status.details field, or localized by the client.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details.  There is a common set of
+              # message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+        },
+        "done": True or False, # If the value is `false`, it means the operation is still in progress.
+            # If `true`, the operation is completed, and either `error` or `response` is
+            # available.
+        "response": { # The normal response of the operation in case of success.  If the original
+            # method returns no data on success, such as `Delete`, the response is
+            # `google.protobuf.Empty`.  If the original method is standard
+            # `Get`/`Create`/`Update`, the response should be the resource.  For other
+            # methods, the response should have the type `XxxResponse`, where `Xxx`
+            # is the original method name.  For example, if the original method name
+            # is `TakeSnapshot()`, the inferred response type is
+            # `TakeSnapshotResponse`.
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+        "name": "A String", # The server-assigned name, which is only unique within the same service that
+            # originally returns it. If you use the default HTTP mapping, the
+            # `name` should be a resource name ending with `operations/{unique_id}`.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1beta.accessPolicies.accessLevels.html b/docs/dyn/accesscontextmanager_v1beta.accessPolicies.accessLevels.html
new file mode 100644
index 0000000..fd5095a
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1beta.accessPolicies.accessLevels.html
@@ -0,0 +1,739 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1beta.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1beta.accessPolicies.html">accessPolicies</a> . <a href="accesscontextmanager_v1beta.accessPolicies.accessLevels.html">accessLevels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create an Access Level. The longrunning</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Delete an Access Level by resource</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, accessLevelFormat=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Get an Access Level by resource</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, accessLevelFormat=None, pageToken=None, x__xgafv=None, pageSize=None)</a></code></p>
+<p class="firstline">List all Access Levels for an access</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update an Access Level. The longrunning</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+  <pre>Create an Access Level. The longrunning
+operation from this RPC will have a successful status once the Access
+Level has
+propagated to long-lasting storage. Access Levels containing
+errors will result in an error response for the first error encountered.
+
+Args:
+  parent: string, Required. Resource name for the access policy which owns this Access
+Level.
+
+Format: `accessPolicies/{policy_id}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An `AccessLevel` is a label that can be applied to requests to GCP services,
+      # along with a list of requirements necessary for the label to be applied.
+    "updateTime": "A String", # Output only. Time the `AccessLevel` was updated in UTC.
+    "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
+    "title": "A String", # Human readable title. Must be unique within the Policy.
+    "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
+      "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
+          # granted this `AccessLevel`. If AND is used, each `Condition` in
+          # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
+          # is used, at least one `Condition` in `conditions` must be satisfied for the
+          # `AccessLevel` to be applied. Default behavior is AND.
+      "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
+        { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
+            # AND over its fields. So a Condition is true if: 1) the request IP is from one
+            # of the listed subnetworks AND 2) the originating device complies with the
+            # listed device policy AND 3) all listed access levels are granted AND 4) the
+            # request was sent at a time allowed by the DateTimeRestriction.
+          "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
+              # resource name. Referencing an `AccessLevel` which does not exist is an
+              # error. All access levels listed must be granted for the Condition
+              # to be true. Example:
+              # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
+            "A String",
+          ],
+          "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
+              # Condition to be true. If not specified, all devices are allowed.
+              # given access level. A `DevicePolicy` specifies requirements for requests from
+              # devices to be granted access levels, it does not do any enforcement on the
+              # device. `DevicePolicy` acts as an AND over all specified fields, and each
+              # repeated field is an OR over its elements. Any unset fields are ignored. For
+              # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
+              # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
+              # true for requests originating from encrypted Linux desktops and encrypted
+              # Windows desktops.
+            "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
+              "A String",
+            ],
+            "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
+              { # A restriction on the OS type and version of devices making requests.
+                "osType": "A String", # Required. The allowed OS type.
+                "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
+                    # Verifications includes requirements that the device is enterprise-managed,
+                    # conformant to Dasher domain policies, and the caller has permission to call
+                    # the API targeted by the request.
+                "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
+                    # satisfies the constraint. Format: `"major.minor.patch"`.
+                    # Examples: `"10.5.301"`, `"9.2.1"`.
+              },
+            ],
+            "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
+            "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
+            "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
+                # levels.
+              "A String",
+            ],
+            "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
+                # Defaults to `false`.
+          },
+          "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
+              # a CIDR IP address block, the specified IP address portion must be properly
+              # truncated (i.e. all the host bits must be zero) or the input is considered
+              # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
+              # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
+              # "2001:db8::1/32" is not. The originating IP of a request must be in one of
+              # the listed subnets in order for this Condition to be true. If empty, all IP
+              # addresses are allowed.
+            "A String",
+          ],
+          "regions": [ # The request must originate from one of the provided countries/regions.
+              # Must be valid ISO 3166-1 alpha-2 codes.
+            "A String",
+          ],
+          "members": [ # The request must be made by one of the provided user or service
+              # accounts. Groups are not supported.
+              # Syntax:
+              # `user:{emailid}`
+              # `serviceAccount:{emailid}`
+              # If not specified, a request may come from any user.
+            "A String",
+          ],
+          "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
+              # its non-empty fields, each field must be false for the Condition overall to
+              # be satisfied. Defaults to false.
+        },
+      ],
+    },
+    "createTime": "A String", # Output only. Time the `AccessLevel` was created in UTC.
+    "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
+        # must begin with a letter and only include alphanumeric and '_'. Format:
+        # `accessPolicies/{policy_id}/accessLevels/{short_name}`
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Delete an Access Level by resource
+name. The longrunning operation from this RPC will have a successful status
+once the Access Level has been removed
+from long-lasting storage.
+
+Args:
+  name: string, Required. Resource name for the Access Level.
+
+Format:
+`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, accessLevelFormat=None, x__xgafv=None)</code>
+  <pre>Get an Access Level by resource
+name.
+
+Args:
+  name: string, Required. Resource name for the Access Level.
+
+Format:
+`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
+  accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression
+Language rather than as `BasicLevels`. Defaults to AS_DEFINED, where
+Access Levels
+are returned as `BasicLevels` or `CustomLevels` based on how they were
+created. If set to CEL, all Access Levels are returned as
+`CustomLevels`. In the CEL case, `BasicLevels` are translated to equivalent
+`CustomLevels`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An `AccessLevel` is a label that can be applied to requests to GCP services,
+        # along with a list of requirements necessary for the label to be applied.
+      "updateTime": "A String", # Output only. Time the `AccessLevel` was updated in UTC.
+      "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
+      "title": "A String", # Human readable title. Must be unique within the Policy.
+      "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
+        "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
+            # granted this `AccessLevel`. If AND is used, each `Condition` in
+            # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
+            # is used, at least one `Condition` in `conditions` must be satisfied for the
+            # `AccessLevel` to be applied. Default behavior is AND.
+        "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
+          { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
+              # AND over its fields. So a Condition is true if: 1) the request IP is from one
+              # of the listed subnetworks AND 2) the originating device complies with the
+              # listed device policy AND 3) all listed access levels are granted AND 4) the
+              # request was sent at a time allowed by the DateTimeRestriction.
+            "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
+                # resource name. Referencing an `AccessLevel` which does not exist is an
+                # error. All access levels listed must be granted for the Condition
+                # to be true. Example:
+                # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
+              "A String",
+            ],
+            "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
+                # Condition to be true. If not specified, all devices are allowed.
+                # given access level. A `DevicePolicy` specifies requirements for requests from
+                # devices to be granted access levels, it does not do any enforcement on the
+                # device. `DevicePolicy` acts as an AND over all specified fields, and each
+                # repeated field is an OR over its elements. Any unset fields are ignored. For
+                # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
+                # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
+                # true for requests originating from encrypted Linux desktops and encrypted
+                # Windows desktops.
+              "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
+                "A String",
+              ],
+              "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
+                { # A restriction on the OS type and version of devices making requests.
+                  "osType": "A String", # Required. The allowed OS type.
+                  "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
+                      # Verifications includes requirements that the device is enterprise-managed,
+                      # conformant to Dasher domain policies, and the caller has permission to call
+                      # the API targeted by the request.
+                  "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
+                      # satisfies the constraint. Format: `"major.minor.patch"`.
+                      # Examples: `"10.5.301"`, `"9.2.1"`.
+                },
+              ],
+              "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
+              "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
+              "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
+                  # levels.
+                "A String",
+              ],
+              "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
+                  # Defaults to `false`.
+            },
+            "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
+                # a CIDR IP address block, the specified IP address portion must be properly
+                # truncated (i.e. all the host bits must be zero) or the input is considered
+                # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
+                # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
+                # "2001:db8::1/32" is not. The originating IP of a request must be in one of
+                # the listed subnets in order for this Condition to be true. If empty, all IP
+                # addresses are allowed.
+              "A String",
+            ],
+            "regions": [ # The request must originate from one of the provided countries/regions.
+                # Must be valid ISO 3166-1 alpha-2 codes.
+              "A String",
+            ],
+            "members": [ # The request must be made by one of the provided user or service
+                # accounts. Groups are not supported.
+                # Syntax:
+                # `user:{emailid}`
+                # `serviceAccount:{emailid}`
+                # If not specified, a request may come from any user.
+              "A String",
+            ],
+            "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
+                # its non-empty fields, each field must be false for the Condition overall to
+                # be satisfied. Defaults to false.
+          },
+        ],
+      },
+      "createTime": "A String", # Output only. Time the `AccessLevel` was created in UTC.
+      "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
+          # must begin with a letter and only include alphanumeric and '_'. Format:
+          # `accessPolicies/{policy_id}/accessLevels/{short_name}`
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, accessLevelFormat=None, pageToken=None, x__xgafv=None, pageSize=None)</code>
+  <pre>List all Access Levels for an access
+policy.
+
+Args:
+  parent: string, Required. Resource name for the access policy to list Access Levels from.
+
+Format:
+`accessPolicies/{policy_id}` (required)
+  accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression language, as
+`CustomLevels`, rather than as `BasicLevels`. Defaults to returning
+`AccessLevels` in the format they were defined.
+  pageToken: string, Next page token for the next batch of Access Level instances.
+Defaults to the first page of results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, Number of Access Levels to include in
+the list. Default 100.
+
+Returns:
+  An object of the form:
+
+    { # A response to `ListAccessLevelsRequest`.
+    "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
+        # empty, no further results remain.
+    "accessLevels": [ # List of the Access Level instances.
+      { # An `AccessLevel` is a label that can be applied to requests to GCP services,
+            # along with a list of requirements necessary for the label to be applied.
+          "updateTime": "A String", # Output only. Time the `AccessLevel` was updated in UTC.
+          "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
+          "title": "A String", # Human readable title. Must be unique within the Policy.
+          "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
+            "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
+                # granted this `AccessLevel`. If AND is used, each `Condition` in
+                # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
+                # is used, at least one `Condition` in `conditions` must be satisfied for the
+                # `AccessLevel` to be applied. Default behavior is AND.
+            "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
+              { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
+                  # AND over its fields. So a Condition is true if: 1) the request IP is from one
+                  # of the listed subnetworks AND 2) the originating device complies with the
+                  # listed device policy AND 3) all listed access levels are granted AND 4) the
+                  # request was sent at a time allowed by the DateTimeRestriction.
+                "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
+                    # resource name. Referencing an `AccessLevel` which does not exist is an
+                    # error. All access levels listed must be granted for the Condition
+                    # to be true. Example:
+                    # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
+                  "A String",
+                ],
+                "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
+                    # Condition to be true. If not specified, all devices are allowed.
+                    # given access level. A `DevicePolicy` specifies requirements for requests from
+                    # devices to be granted access levels, it does not do any enforcement on the
+                    # device. `DevicePolicy` acts as an AND over all specified fields, and each
+                    # repeated field is an OR over its elements. Any unset fields are ignored. For
+                    # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
+                    # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
+                    # true for requests originating from encrypted Linux desktops and encrypted
+                    # Windows desktops.
+                  "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
+                    "A String",
+                  ],
+                  "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
+                    { # A restriction on the OS type and version of devices making requests.
+                      "osType": "A String", # Required. The allowed OS type.
+                      "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
+                          # Verifications includes requirements that the device is enterprise-managed,
+                          # conformant to Dasher domain policies, and the caller has permission to call
+                          # the API targeted by the request.
+                      "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
+                          # satisfies the constraint. Format: `"major.minor.patch"`.
+                          # Examples: `"10.5.301"`, `"9.2.1"`.
+                    },
+                  ],
+                  "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
+                  "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
+                  "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
+                      # levels.
+                    "A String",
+                  ],
+                  "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
+                      # Defaults to `false`.
+                },
+                "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
+                    # a CIDR IP address block, the specified IP address portion must be properly
+                    # truncated (i.e. all the host bits must be zero) or the input is considered
+                    # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
+                    # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
+                    # "2001:db8::1/32" is not. The originating IP of a request must be in one of
+                    # the listed subnets in order for this Condition to be true. If empty, all IP
+                    # addresses are allowed.
+                  "A String",
+                ],
+                "regions": [ # The request must originate from one of the provided countries/regions.
+                    # Must be valid ISO 3166-1 alpha-2 codes.
+                  "A String",
+                ],
+                "members": [ # The request must be made by one of the provided user or service
+                    # accounts. Groups are not supported.
+                    # Syntax:
+                    # `user:{emailid}`
+                    # `serviceAccount:{emailid}`
+                    # If not specified, a request may come from any user.
+                  "A String",
+                ],
+                "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
+                    # its non-empty fields, each field must be false for the Condition overall to
+                    # be satisfied. Defaults to false.
+              },
+            ],
+          },
+          "createTime": "A String", # Output only. Time the `AccessLevel` was created in UTC.
+          "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
+              # must begin with a letter and only include alphanumeric and '_'. Format:
+              # `accessPolicies/{policy_id}/accessLevels/{short_name}`
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+  <pre>Update an Access Level. The longrunning
+operation from this RPC will have a successful status once the changes to
+the Access Level have propagated
+to long-lasting storage. Access Levels containing
+errors will result in an error response for the first error encountered.
+
+Args:
+  name: string, Required. Resource name for the Access Level. The `short_name` component
+must begin with a letter and only include alphanumeric and '_'. Format:
+`accessPolicies/{policy_id}/accessLevels/{short_name}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An `AccessLevel` is a label that can be applied to requests to GCP services,
+      # along with a list of requirements necessary for the label to be applied.
+    "updateTime": "A String", # Output only. Time the `AccessLevel` was updated in UTC.
+    "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
+    "title": "A String", # Human readable title. Must be unique within the Policy.
+    "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
+      "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
+          # granted this `AccessLevel`. If AND is used, each `Condition` in
+          # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
+          # is used, at least one `Condition` in `conditions` must be satisfied for the
+          # `AccessLevel` to be applied. Default behavior is AND.
+      "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
+        { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
+            # AND over its fields. So a Condition is true if: 1) the request IP is from one
+            # of the listed subnetworks AND 2) the originating device complies with the
+            # listed device policy AND 3) all listed access levels are granted AND 4) the
+            # request was sent at a time allowed by the DateTimeRestriction.
+          "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
+              # resource name. Referencing an `AccessLevel` which does not exist is an
+              # error. All access levels listed must be granted for the Condition
+              # to be true. Example:
+              # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
+            "A String",
+          ],
+          "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
+              # Condition to be true. If not specified, all devices are allowed.
+              # given access level. A `DevicePolicy` specifies requirements for requests from
+              # devices to be granted access levels, it does not do any enforcement on the
+              # device. `DevicePolicy` acts as an AND over all specified fields, and each
+              # repeated field is an OR over its elements. Any unset fields are ignored. For
+              # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
+              # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
+              # true for requests originating from encrypted Linux desktops and encrypted
+              # Windows desktops.
+            "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
+              "A String",
+            ],
+            "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
+              { # A restriction on the OS type and version of devices making requests.
+                "osType": "A String", # Required. The allowed OS type.
+                "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
+                    # Verifications includes requirements that the device is enterprise-managed,
+                    # conformant to Dasher domain policies, and the caller has permission to call
+                    # the API targeted by the request.
+                "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
+                    # satisfies the constraint. Format: `"major.minor.patch"`.
+                    # Examples: `"10.5.301"`, `"9.2.1"`.
+              },
+            ],
+            "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
+            "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
+            "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
+                # levels.
+              "A String",
+            ],
+            "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
+                # Defaults to `false`.
+          },
+          "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
+              # a CIDR IP address block, the specified IP address portion must be properly
+              # truncated (i.e. all the host bits must be zero) or the input is considered
+              # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
+              # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
+              # "2001:db8::1/32" is not. The originating IP of a request must be in one of
+              # the listed subnets in order for this Condition to be true. If empty, all IP
+              # addresses are allowed.
+            "A String",
+          ],
+          "regions": [ # The request must originate from one of the provided countries/regions.
+              # Must be valid ISO 3166-1 alpha-2 codes.
+            "A String",
+          ],
+          "members": [ # The request must be made by one of the provided user or service
+              # accounts. Groups are not supported.
+              # Syntax:
+              # `user:{emailid}`
+              # `serviceAccount:{emailid}`
+              # If not specified, a request may come from any user.
+            "A String",
+          ],
+          "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
+              # its non-empty fields, each field must be false for the Condition overall to
+              # be satisfied. Defaults to false.
+        },
+      ],
+    },
+    "createTime": "A String", # Output only. Time the `AccessLevel` was created in UTC.
+    "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
+        # must begin with a letter and only include alphanumeric and '_'. Format:
+        # `accessPolicies/{policy_id}/accessLevels/{short_name}`
+  }
+
+  updateMask: string, Required.  Mask to control which fields get updated. Must be non-empty.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1beta.accessPolicies.html b/docs/dyn/accesscontextmanager_v1beta.accessPolicies.html
new file mode 100644
index 0000000..41ed841
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1beta.accessPolicies.html
@@ -0,0 +1,423 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1beta.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1beta.accessPolicies.html">accessPolicies</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="accesscontextmanager_v1beta.accessPolicies.accessLevels.html">accessLevels()</a></code>
+</p>
+<p class="firstline">Returns the accessLevels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="accesscontextmanager_v1beta.accessPolicies.servicePerimeters.html">servicePerimeters()</a></code>
+</p>
+<p class="firstline">Returns the servicePerimeters Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create an `AccessPolicy`. Fails if this organization already has a</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Delete an AccessPolicy by resource</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Get an AccessPolicy by name.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent=None, pageToken=None, x__xgafv=None, pageSize=None)</a></code></p>
+<p class="firstline">List all AccessPolicies under a</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update an AccessPolicy. The</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body, x__xgafv=None)</code>
+  <pre>Create an `AccessPolicy`. Fails if this organization already has a
+`AccessPolicy`. The longrunning Operation will have a successful status
+once the `AccessPolicy` has propagated to long-lasting storage.
+Syntactic and basic semantic errors will be returned in `metadata` as a
+BadRequest proto.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
+      # attributes to use GCP services) and `ServicePerimeters` (which define regions
+      # of services able to freely pass data within a perimeter). An access policy is
+      # globally visible within an organization, and the restrictions it specifies
+      # apply to all projects within an organization.
+    "updateTime": "A String", # Output only. Time the `AccessPolicy` was updated in UTC.
+    "title": "A String", # Required. Human readable title. Does not affect behavior.
+    "name": "A String", # Output only. Resource name of the `AccessPolicy`. Format:
+        # `accessPolicies/{policy_id}`
+    "parent": "A String", # Required. The parent of this `AccessPolicy` in the Cloud Resource
+        # Hierarchy. Currently immutable once created. Format:
+        # `organizations/{organization_id}`
+    "createTime": "A String", # Output only. Time the `AccessPolicy` was created in UTC.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Delete an AccessPolicy by resource
+name. The longrunning Operation will have a successful status once the
+AccessPolicy
+has been removed from long-lasting storage.
+
+Args:
+  name: string, Required. Resource name for the access policy to delete.
+
+Format `accessPolicies/{policy_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Get an AccessPolicy by name.
+
+Args:
+  name: string, Required. Resource name for the access policy to get.
+
+Format `accessPolicies/{policy_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
+        # attributes to use GCP services) and `ServicePerimeters` (which define regions
+        # of services able to freely pass data within a perimeter). An access policy is
+        # globally visible within an organization, and the restrictions it specifies
+        # apply to all projects within an organization.
+      "updateTime": "A String", # Output only. Time the `AccessPolicy` was updated in UTC.
+      "title": "A String", # Required. Human readable title. Does not affect behavior.
+      "name": "A String", # Output only. Resource name of the `AccessPolicy`. Format:
+          # `accessPolicies/{policy_id}`
+      "parent": "A String", # Required. The parent of this `AccessPolicy` in the Cloud Resource
+          # Hierarchy. Currently immutable once created. Format:
+          # `organizations/{organization_id}`
+      "createTime": "A String", # Output only. Time the `AccessPolicy` was created in UTC.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent=None, pageToken=None, x__xgafv=None, pageSize=None)</code>
+  <pre>List all AccessPolicies under a
+container.
+
+Args:
+  parent: string, Required. Resource name for the container to list AccessPolicy instances
+from.
+
+Format:
+`organizations/{org_id}`
+  pageToken: string, Next page token for the next batch of AccessPolicy instances. Defaults to
+the first page of results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, Number of AccessPolicy instances to include in the list. Default 100.
+
+Returns:
+  An object of the form:
+
+    { # A response to `ListAccessPoliciesRequest`.
+    "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
+        # empty, no further results remain.
+    "accessPolicies": [ # List of the AccessPolicy instances.
+      { # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
+            # attributes to use GCP services) and `ServicePerimeters` (which define regions
+            # of services able to freely pass data within a perimeter). An access policy is
+            # globally visible within an organization, and the restrictions it specifies
+            # apply to all projects within an organization.
+          "updateTime": "A String", # Output only. Time the `AccessPolicy` was updated in UTC.
+          "title": "A String", # Required. Human readable title. Does not affect behavior.
+          "name": "A String", # Output only. Resource name of the `AccessPolicy`. Format:
+              # `accessPolicies/{policy_id}`
+          "parent": "A String", # Required. The parent of this `AccessPolicy` in the Cloud Resource
+              # Hierarchy. Currently immutable once created. Format:
+              # `organizations/{organization_id}`
+          "createTime": "A String", # Output only. Time the `AccessPolicy` was created in UTC.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+  <pre>Update an AccessPolicy. The
+longrunning Operation from this RPC will have a successful status once the
+changes to the AccessPolicy have propagated
+to long-lasting storage. Syntactic and basic semantic errors will be
+returned in `metadata` as a BadRequest proto.
+
+Args:
+  name: string, Output only. Resource name of the `AccessPolicy`. Format:
+`accessPolicies/{policy_id}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
+      # attributes to use GCP services) and `ServicePerimeters` (which define regions
+      # of services able to freely pass data within a perimeter). An access policy is
+      # globally visible within an organization, and the restrictions it specifies
+      # apply to all projects within an organization.
+    "updateTime": "A String", # Output only. Time the `AccessPolicy` was updated in UTC.
+    "title": "A String", # Required. Human readable title. Does not affect behavior.
+    "name": "A String", # Output only. Resource name of the `AccessPolicy`. Format:
+        # `accessPolicies/{policy_id}`
+    "parent": "A String", # Required. The parent of this `AccessPolicy` in the Cloud Resource
+        # Hierarchy. Currently immutable once created. Format:
+        # `organizations/{organization_id}`
+    "createTime": "A String", # Output only. Time the `AccessPolicy` was created in UTC.
+  }
+
+  updateMask: string, Required. Mask to control which fields get updated. Must be non-empty.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1beta.accessPolicies.servicePerimeters.html b/docs/dyn/accesscontextmanager_v1beta.accessPolicies.servicePerimeters.html
new file mode 100644
index 0000000..ddda055
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1beta.accessPolicies.servicePerimeters.html
@@ -0,0 +1,589 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1beta.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1beta.accessPolicies.html">accessPolicies</a> . <a href="accesscontextmanager_v1beta.accessPolicies.servicePerimeters.html">servicePerimeters</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create an Service Perimeter. The</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Delete an Service Perimeter by resource</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Get an Service Perimeter by resource</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None)</a></code></p>
+<p class="firstline">List all Service Perimeters for an</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update an Service Perimeter. The</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+  <pre>Create an Service Perimeter. The
+longrunning operation from this RPC will have a successful status once the
+Service Perimeter has
+propagated to long-lasting storage. Service Perimeters containing
+errors will result in an error response for the first error encountered.
+
+Args:
+  parent: string, Required. Resource name for the access policy which owns this Service
+Perimeter.
+
+Format: `accessPolicies/{policy_id}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `ServicePerimeter` describes a set of GCP resources which can freely import
+      # and export data amongst themselves, but not export outside of the
+      # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
+      # has a target outside of the `ServicePerimeter`, the request will be blocked.
+      # Otherwise the request is allowed. There are two types of Service Perimeter -
+      # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
+      # project can only belong to a single regular Service Perimeter. Service
+      # Perimeter Bridges can contain only GCP projects as members, a single GCP
+      # project may belong to multiple Service Perimeter Bridges.
+    "status": { # `ServicePerimeterConfig` specifies a set of GCP resources that describe # Current ServicePerimeter configuration. Specifies sets of resources,
+        # restricted/unrestricted services and access levels that determine perimeter
+        # content and boundaries.
+        # specific Service Perimeter configuration.
+      "restrictedServices": [ # GCP services that are subject to the Service Perimeter restrictions. Must
+          # contain a list of services. For example, if
+          # `storage.googleapis.com` is specified, access to the storage buckets
+          # inside the perimeter must meet the perimeter's access restrictions.
+        "A String",
+      ],
+      "unrestrictedServices": [ # GCP services that are not subject to the Service Perimeter
+          # restrictions. Deprecated. Must be set to a single wildcard "*".
+          #
+          # The wildcard means that unless explicitly specified by
+          # "restricted_services" list, any service is treated as unrestricted.
+        "A String",
+      ],
+      "resources": [ # A list of GCP resources that are inside of the service perimeter.
+          # Currently only projects are allowed. Format: `projects/{project_number}`
+        "A String",
+      ],
+      "accessLevels": [ # A list of `AccessLevel` resource names that allow resources within the
+          # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
+          # must be in the same policy as this `ServicePerimeter`. Referencing a
+          # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
+          # listed, resources within the perimeter can only be accessed via GCP calls
+          # with request origins within the perimeter. Example:
+          # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
+          # For Service Perimeter Bridge, must be empty.
+        "A String",
+      ],
+    },
+    "updateTime": "A String", # Output only. Time the `ServicePerimeter` was updated in UTC.
+    "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+        # behavior.
+    "title": "A String", # Human readable title. Must be unique within the Policy.
+    "perimeterType": "A String", # Perimeter type indicator. A single project is
+        # allowed to be a member of single regular perimeter, but multiple service
+        # perimeter bridges. A project cannot be a included in a perimeter bridge
+        # without being included in regular perimeter. For perimeter bridges,
+        # restricted/unrestricted service lists as well as access lists must be
+        # empty.
+    "createTime": "A String", # Output only. Time the `ServicePerimeter` was created in UTC.
+    "name": "A String", # Required. Resource name for the ServicePerimeter.  The `short_name`
+        # component must begin with a letter and only include alphanumeric and '_'.
+        # Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Delete an Service Perimeter by resource
+name. The longrunning operation from this RPC will have a successful status
+once the Service Perimeter has been
+removed from long-lasting storage.
+
+Args:
+  name: string, Required. Resource name for the Service Perimeter.
+
+Format:
+`accessPolicies/{policy_id}/servicePerimeters/{service_perimeter_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Get an Service Perimeter by resource
+name.
+
+Args:
+  name: string, Required. Resource name for the Service Perimeter.
+
+Format:
+`accessPolicies/{policy_id}/servicePerimeters/{service_perimeters_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # `ServicePerimeter` describes a set of GCP resources which can freely import
+        # and export data amongst themselves, but not export outside of the
+        # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
+        # has a target outside of the `ServicePerimeter`, the request will be blocked.
+        # Otherwise the request is allowed. There are two types of Service Perimeter -
+        # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
+        # project can only belong to a single regular Service Perimeter. Service
+        # Perimeter Bridges can contain only GCP projects as members, a single GCP
+        # project may belong to multiple Service Perimeter Bridges.
+      "status": { # `ServicePerimeterConfig` specifies a set of GCP resources that describe # Current ServicePerimeter configuration. Specifies sets of resources,
+          # restricted/unrestricted services and access levels that determine perimeter
+          # content and boundaries.
+          # specific Service Perimeter configuration.
+        "restrictedServices": [ # GCP services that are subject to the Service Perimeter restrictions. Must
+            # contain a list of services. For example, if
+            # `storage.googleapis.com` is specified, access to the storage buckets
+            # inside the perimeter must meet the perimeter's access restrictions.
+          "A String",
+        ],
+        "unrestrictedServices": [ # GCP services that are not subject to the Service Perimeter
+            # restrictions. Deprecated. Must be set to a single wildcard "*".
+            #
+            # The wildcard means that unless explicitly specified by
+            # "restricted_services" list, any service is treated as unrestricted.
+          "A String",
+        ],
+        "resources": [ # A list of GCP resources that are inside of the service perimeter.
+            # Currently only projects are allowed. Format: `projects/{project_number}`
+          "A String",
+        ],
+        "accessLevels": [ # A list of `AccessLevel` resource names that allow resources within the
+            # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
+            # must be in the same policy as this `ServicePerimeter`. Referencing a
+            # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
+            # listed, resources within the perimeter can only be accessed via GCP calls
+            # with request origins within the perimeter. Example:
+            # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
+            # For Service Perimeter Bridge, must be empty.
+          "A String",
+        ],
+      },
+      "updateTime": "A String", # Output only. Time the `ServicePerimeter` was updated in UTC.
+      "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+          # behavior.
+      "title": "A String", # Human readable title. Must be unique within the Policy.
+      "perimeterType": "A String", # Perimeter type indicator. A single project is
+          # allowed to be a member of single regular perimeter, but multiple service
+          # perimeter bridges. A project cannot be a included in a perimeter bridge
+          # without being included in regular perimeter. For perimeter bridges,
+          # restricted/unrestricted service lists as well as access lists must be
+          # empty.
+      "createTime": "A String", # Output only. Time the `ServicePerimeter` was created in UTC.
+      "name": "A String", # Required. Resource name for the ServicePerimeter.  The `short_name`
+          # component must begin with a letter and only include alphanumeric and '_'.
+          # Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None)</code>
+  <pre>List all Service Perimeters for an
+access policy.
+
+Args:
+  parent: string, Required. Resource name for the access policy to list Service Perimeters from.
+
+Format:
+`accessPolicies/{policy_id}` (required)
+  pageToken: string, Next page token for the next batch of Service Perimeter instances.
+Defaults to the first page of results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, Number of Service Perimeters to include
+in the list. Default 100.
+
+Returns:
+  An object of the form:
+
+    { # A response to `ListServicePerimetersRequest`.
+    "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
+        # empty, no further results remain.
+    "servicePerimeters": [ # List of the Service Perimeter instances.
+      { # `ServicePerimeter` describes a set of GCP resources which can freely import
+            # and export data amongst themselves, but not export outside of the
+            # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
+            # has a target outside of the `ServicePerimeter`, the request will be blocked.
+            # Otherwise the request is allowed. There are two types of Service Perimeter -
+            # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
+            # project can only belong to a single regular Service Perimeter. Service
+            # Perimeter Bridges can contain only GCP projects as members, a single GCP
+            # project may belong to multiple Service Perimeter Bridges.
+          "status": { # `ServicePerimeterConfig` specifies a set of GCP resources that describe # Current ServicePerimeter configuration. Specifies sets of resources,
+              # restricted/unrestricted services and access levels that determine perimeter
+              # content and boundaries.
+              # specific Service Perimeter configuration.
+            "restrictedServices": [ # GCP services that are subject to the Service Perimeter restrictions. Must
+                # contain a list of services. For example, if
+                # `storage.googleapis.com` is specified, access to the storage buckets
+                # inside the perimeter must meet the perimeter's access restrictions.
+              "A String",
+            ],
+            "unrestrictedServices": [ # GCP services that are not subject to the Service Perimeter
+                # restrictions. Deprecated. Must be set to a single wildcard "*".
+                #
+                # The wildcard means that unless explicitly specified by
+                # "restricted_services" list, any service is treated as unrestricted.
+              "A String",
+            ],
+            "resources": [ # A list of GCP resources that are inside of the service perimeter.
+                # Currently only projects are allowed. Format: `projects/{project_number}`
+              "A String",
+            ],
+            "accessLevels": [ # A list of `AccessLevel` resource names that allow resources within the
+                # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
+                # must be in the same policy as this `ServicePerimeter`. Referencing a
+                # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
+                # listed, resources within the perimeter can only be accessed via GCP calls
+                # with request origins within the perimeter. Example:
+                # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
+                # For Service Perimeter Bridge, must be empty.
+              "A String",
+            ],
+          },
+          "updateTime": "A String", # Output only. Time the `ServicePerimeter` was updated in UTC.
+          "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+              # behavior.
+          "title": "A String", # Human readable title. Must be unique within the Policy.
+          "perimeterType": "A String", # Perimeter type indicator. A single project is
+              # allowed to be a member of single regular perimeter, but multiple service
+              # perimeter bridges. A project cannot be a included in a perimeter bridge
+              # without being included in regular perimeter. For perimeter bridges,
+              # restricted/unrestricted service lists as well as access lists must be
+              # empty.
+          "createTime": "A String", # Output only. Time the `ServicePerimeter` was created in UTC.
+          "name": "A String", # Required. Resource name for the ServicePerimeter.  The `short_name`
+              # component must begin with a letter and only include alphanumeric and '_'.
+              # Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+  <pre>Update an Service Perimeter. The
+longrunning operation from this RPC will have a successful status once the
+changes to the Service Perimeter have
+propagated to long-lasting storage. Service Perimeter containing
+errors will result in an error response for the first error encountered.
+
+Args:
+  name: string, Required. Resource name for the ServicePerimeter.  The `short_name`
+component must begin with a letter and only include alphanumeric and '_'.
+Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `ServicePerimeter` describes a set of GCP resources which can freely import
+      # and export data amongst themselves, but not export outside of the
+      # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
+      # has a target outside of the `ServicePerimeter`, the request will be blocked.
+      # Otherwise the request is allowed. There are two types of Service Perimeter -
+      # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
+      # project can only belong to a single regular Service Perimeter. Service
+      # Perimeter Bridges can contain only GCP projects as members, a single GCP
+      # project may belong to multiple Service Perimeter Bridges.
+    "status": { # `ServicePerimeterConfig` specifies a set of GCP resources that describe # Current ServicePerimeter configuration. Specifies sets of resources,
+        # restricted/unrestricted services and access levels that determine perimeter
+        # content and boundaries.
+        # specific Service Perimeter configuration.
+      "restrictedServices": [ # GCP services that are subject to the Service Perimeter restrictions. Must
+          # contain a list of services. For example, if
+          # `storage.googleapis.com` is specified, access to the storage buckets
+          # inside the perimeter must meet the perimeter's access restrictions.
+        "A String",
+      ],
+      "unrestrictedServices": [ # GCP services that are not subject to the Service Perimeter
+          # restrictions. Deprecated. Must be set to a single wildcard "*".
+          #
+          # The wildcard means that unless explicitly specified by
+          # "restricted_services" list, any service is treated as unrestricted.
+        "A String",
+      ],
+      "resources": [ # A list of GCP resources that are inside of the service perimeter.
+          # Currently only projects are allowed. Format: `projects/{project_number}`
+        "A String",
+      ],
+      "accessLevels": [ # A list of `AccessLevel` resource names that allow resources within the
+          # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
+          # must be in the same policy as this `ServicePerimeter`. Referencing a
+          # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
+          # listed, resources within the perimeter can only be accessed via GCP calls
+          # with request origins within the perimeter. Example:
+          # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
+          # For Service Perimeter Bridge, must be empty.
+        "A String",
+      ],
+    },
+    "updateTime": "A String", # Output only. Time the `ServicePerimeter` was updated in UTC.
+    "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+        # behavior.
+    "title": "A String", # Human readable title. Must be unique within the Policy.
+    "perimeterType": "A String", # Perimeter type indicator. A single project is
+        # allowed to be a member of single regular perimeter, but multiple service
+        # perimeter bridges. A project cannot be a included in a perimeter bridge
+        # without being included in regular perimeter. For perimeter bridges,
+        # restricted/unrestricted service lists as well as access lists must be
+        # empty.
+    "createTime": "A String", # Output only. Time the `ServicePerimeter` was created in UTC.
+    "name": "A String", # Required. Resource name for the ServicePerimeter.  The `short_name`
+        # component must begin with a letter and only include alphanumeric and '_'.
+        # Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+  }
+
+  updateMask: string, Required. Mask to control which fields get updated. Must be non-empty.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1beta.html b/docs/dyn/accesscontextmanager_v1beta.html
new file mode 100644
index 0000000..cffe144
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1beta.html
@@ -0,0 +1,108 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1beta.html">Access Context Manager API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="accesscontextmanager_v1beta.accessPolicies.html">accessPolicies()</a></code>
+</p>
+<p class="firstline">Returns the accessPolicies Resource.</p>
+
+<p class="toc_element">
+  <code><a href="accesscontextmanager_v1beta.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#new_batch_http_request">new_batch_http_request()</a></code></p>
+<p class="firstline">Create a BatchHttpRequest object based on the discovery document.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="new_batch_http_request">new_batch_http_request()</code>
+  <pre>Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/accesscontextmanager_v1beta.operations.html b/docs/dyn/accesscontextmanager_v1beta.operations.html
new file mode 100644
index 0000000..124390f
--- /dev/null
+++ b/docs/dyn/accesscontextmanager_v1beta.operations.html
@@ -0,0 +1,142 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="accesscontextmanager_v1beta.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1beta.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the latest state of a long-running operation.  Clients can use this</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the latest state of a long-running operation.  Clients can use this
+method to poll the operation result at intervals as recommended by the API
+service.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.html
index 0833852..7118cf9 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.html
@@ -91,7 +91,7 @@
   <code><a href="#get">get(accountId, clientAccountId, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a client buyer with a given client account ID.</p>
 <p class="toc_element">
-  <code><a href="#list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(accountId, pageSize=None, partnerClientId=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists all the clients for the current sponsor buyer.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -110,20 +110,28 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # A client resource represents a client buyer&mdash;an agency,
-      # a brand, or an advertiser customer of the sponsor buyer.
-      # Users associated with the client buyer have restricted access to
-      # the Ad Exchange Marketplace and certain other sections
-      # of the Ad Exchange Buyer UI based on the role
-      # granted to the client buyer.
-      # All fields are required unless otherwise specified.
+{ # A client resource represents a client buyer&mdash;an agency, a brand, or an
+      # advertiser customer of the sponsor buyer. Users associated with the client
+      # buyer have restricted access to the Marketplace and certain other sections of
+      # the Authorized Buyers UI based on the role granted to the client buyer. All
+      # fields are required unless otherwise specified.
     "status": "A String", # The status of the client buyer.
     "clientAccountId": "A String", # The globally-unique numerical ID of the client.
         # The value of this field is ignored in create and update operations.
+    "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
     "entityName": "A String", # The name of the entity. This field is automatically fetched based on
         # the type and ID.
         # The value of this field is ignored in create and update operations.
-    "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+    "partnerClientId": "A String", # Optional arbitrary unique identifier of this client buyer from the
+        # standpoint of its Ad Exchange sponsor buyer.
+        # 
+        # This field can be used to associate a client buyer with the identifier
+        # in the namespace of its sponsor buyer, lookup client buyers by that
+        # identifier and verify whether an Ad Exchange counterpart of a given client
+        # buyer already exists.
+        # 
+        # If present, must be unique among all the client buyers for its
+        # Ad Exchange sponsor buyer.
     "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
         # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
         # `CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`.
@@ -158,20 +166,28 @@
 Returns:
   An object of the form:
 
-    { # A client resource represents a client buyer&mdash;an agency,
-        # a brand, or an advertiser customer of the sponsor buyer.
-        # Users associated with the client buyer have restricted access to
-        # the Ad Exchange Marketplace and certain other sections
-        # of the Ad Exchange Buyer UI based on the role
-        # granted to the client buyer.
-        # All fields are required unless otherwise specified.
+    { # A client resource represents a client buyer&mdash;an agency, a brand, or an
+        # advertiser customer of the sponsor buyer. Users associated with the client
+        # buyer have restricted access to the Marketplace and certain other sections of
+        # the Authorized Buyers UI based on the role granted to the client buyer. All
+        # fields are required unless otherwise specified.
       "status": "A String", # The status of the client buyer.
       "clientAccountId": "A String", # The globally-unique numerical ID of the client.
           # The value of this field is ignored in create and update operations.
+      "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
       "entityName": "A String", # The name of the entity. This field is automatically fetched based on
           # the type and ID.
           # The value of this field is ignored in create and update operations.
-      "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+      "partnerClientId": "A String", # Optional arbitrary unique identifier of this client buyer from the
+          # standpoint of its Ad Exchange sponsor buyer.
+          #
+          # This field can be used to associate a client buyer with the identifier
+          # in the namespace of its sponsor buyer, lookup client buyers by that
+          # identifier and verify whether an Ad Exchange counterpart of a given client
+          # buyer already exists.
+          #
+          # If present, must be unique among all the client buyers for its
+          # Ad Exchange sponsor buyer.
       "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
           # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
           # `CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`.
@@ -214,20 +230,28 @@
 Returns:
   An object of the form:
 
-    { # A client resource represents a client buyer&mdash;an agency,
-        # a brand, or an advertiser customer of the sponsor buyer.
-        # Users associated with the client buyer have restricted access to
-        # the Ad Exchange Marketplace and certain other sections
-        # of the Ad Exchange Buyer UI based on the role
-        # granted to the client buyer.
-        # All fields are required unless otherwise specified.
+    { # A client resource represents a client buyer&mdash;an agency, a brand, or an
+        # advertiser customer of the sponsor buyer. Users associated with the client
+        # buyer have restricted access to the Marketplace and certain other sections of
+        # the Authorized Buyers UI based on the role granted to the client buyer. All
+        # fields are required unless otherwise specified.
       "status": "A String", # The status of the client buyer.
       "clientAccountId": "A String", # The globally-unique numerical ID of the client.
           # The value of this field is ignored in create and update operations.
+      "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
       "entityName": "A String", # The name of the entity. This field is automatically fetched based on
           # the type and ID.
           # The value of this field is ignored in create and update operations.
-      "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+      "partnerClientId": "A String", # Optional arbitrary unique identifier of this client buyer from the
+          # standpoint of its Ad Exchange sponsor buyer.
+          #
+          # This field can be used to associate a client buyer with the identifier
+          # in the namespace of its sponsor buyer, lookup client buyers by that
+          # identifier and verify whether an Ad Exchange counterpart of a given client
+          # buyer already exists.
+          #
+          # If present, must be unique among all the client buyers for its
+          # Ad Exchange sponsor buyer.
       "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
           # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
           # `CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`.
@@ -256,18 +280,22 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(accountId, pageSize=None, partnerClientId=None, pageToken=None, x__xgafv=None)</code>
   <pre>Lists all the clients for the current sponsor buyer.
 
 Args:
   accountId: string, Unique numerical account ID of the sponsor buyer to list the clients for. (required)
   pageSize: integer, Requested page size. The server may return fewer clients than requested.
 If unspecified, the server will pick an appropriate default.
+  partnerClientId: string, Optional unique identifier (from the standpoint of an Ad Exchange sponsor
+buyer partner) of the client to return.
+If specified, at most one client will be returned in the response.
   pageToken: string, A token identifying a page of results the server should return.
 Typically, this is the value of
 ListClientsResponse.nextPageToken
 returned from the previous call to the
-accounts.clients.list method.
+accounts.clients.list
+method.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -281,23 +309,31 @@
         # Pass this value in the
         # ListClientsRequest.pageToken
         # field in the subsequent call to the
-        # accounts.clients.list method
-        # to retrieve the next page of results.
+        # accounts.clients.list
+        # method to retrieve the next page of results.
     "clients": [ # The returned list of clients.
-      { # A client resource represents a client buyer&mdash;an agency,
-            # a brand, or an advertiser customer of the sponsor buyer.
-            # Users associated with the client buyer have restricted access to
-            # the Ad Exchange Marketplace and certain other sections
-            # of the Ad Exchange Buyer UI based on the role
-            # granted to the client buyer.
-            # All fields are required unless otherwise specified.
+      { # A client resource represents a client buyer&mdash;an agency, a brand, or an
+            # advertiser customer of the sponsor buyer. Users associated with the client
+            # buyer have restricted access to the Marketplace and certain other sections of
+            # the Authorized Buyers UI based on the role granted to the client buyer. All
+            # fields are required unless otherwise specified.
           "status": "A String", # The status of the client buyer.
           "clientAccountId": "A String", # The globally-unique numerical ID of the client.
               # The value of this field is ignored in create and update operations.
+          "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
           "entityName": "A String", # The name of the entity. This field is automatically fetched based on
               # the type and ID.
               # The value of this field is ignored in create and update operations.
-          "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+          "partnerClientId": "A String", # Optional arbitrary unique identifier of this client buyer from the
+              # standpoint of its Ad Exchange sponsor buyer.
+              #
+              # This field can be used to associate a client buyer with the identifier
+              # in the namespace of its sponsor buyer, lookup client buyers by that
+              # identifier and verify whether an Ad Exchange counterpart of a given client
+              # buyer already exists.
+              #
+              # If present, must be unique among all the client buyers for its
+              # Ad Exchange sponsor buyer.
           "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
               # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
               # `CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`.
@@ -352,20 +388,28 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # A client resource represents a client buyer&mdash;an agency,
-      # a brand, or an advertiser customer of the sponsor buyer.
-      # Users associated with the client buyer have restricted access to
-      # the Ad Exchange Marketplace and certain other sections
-      # of the Ad Exchange Buyer UI based on the role
-      # granted to the client buyer.
-      # All fields are required unless otherwise specified.
+{ # A client resource represents a client buyer&mdash;an agency, a brand, or an
+      # advertiser customer of the sponsor buyer. Users associated with the client
+      # buyer have restricted access to the Marketplace and certain other sections of
+      # the Authorized Buyers UI based on the role granted to the client buyer. All
+      # fields are required unless otherwise specified.
     "status": "A String", # The status of the client buyer.
     "clientAccountId": "A String", # The globally-unique numerical ID of the client.
         # The value of this field is ignored in create and update operations.
+    "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
     "entityName": "A String", # The name of the entity. This field is automatically fetched based on
         # the type and ID.
         # The value of this field is ignored in create and update operations.
-    "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+    "partnerClientId": "A String", # Optional arbitrary unique identifier of this client buyer from the
+        # standpoint of its Ad Exchange sponsor buyer.
+        # 
+        # This field can be used to associate a client buyer with the identifier
+        # in the namespace of its sponsor buyer, lookup client buyers by that
+        # identifier and verify whether an Ad Exchange counterpart of a given client
+        # buyer already exists.
+        # 
+        # If present, must be unique among all the client buyers for its
+        # Ad Exchange sponsor buyer.
     "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
         # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
         # `CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`.
@@ -400,20 +444,28 @@
 Returns:
   An object of the form:
 
-    { # A client resource represents a client buyer&mdash;an agency,
-        # a brand, or an advertiser customer of the sponsor buyer.
-        # Users associated with the client buyer have restricted access to
-        # the Ad Exchange Marketplace and certain other sections
-        # of the Ad Exchange Buyer UI based on the role
-        # granted to the client buyer.
-        # All fields are required unless otherwise specified.
+    { # A client resource represents a client buyer&mdash;an agency, a brand, or an
+        # advertiser customer of the sponsor buyer. Users associated with the client
+        # buyer have restricted access to the Marketplace and certain other sections of
+        # the Authorized Buyers UI based on the role granted to the client buyer. All
+        # fields are required unless otherwise specified.
       "status": "A String", # The status of the client buyer.
       "clientAccountId": "A String", # The globally-unique numerical ID of the client.
           # The value of this field is ignored in create and update operations.
+      "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
       "entityName": "A String", # The name of the entity. This field is automatically fetched based on
           # the type and ID.
           # The value of this field is ignored in create and update operations.
-      "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+      "partnerClientId": "A String", # Optional arbitrary unique identifier of this client buyer from the
+          # standpoint of its Ad Exchange sponsor buyer.
+          #
+          # This field can be used to associate a client buyer with the identifier
+          # in the namespace of its sponsor buyer, lookup client buyers by that
+          # identifier and verify whether an Ad Exchange counterpart of a given client
+          # buyer already exists.
+          #
+          # If present, must be unique among all the client buyers for its
+          # Ad Exchange sponsor buyer.
       "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
           # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
           # `CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`.
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.invitations.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.invitations.html
index e02066e..2f0cf05 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.invitations.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.invitations.html
@@ -99,17 +99,16 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # An invitation for a new client user to get access to the Ad Exchange
-      # Buyer UI.
-      # All fields are required unless otherwise specified.
-    "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
-        # The value of this field is ignored in create operations.
+{ # An invitation for a new client user to get access to the Authorized Buyers
+      # UI. All fields are required unless otherwise specified.
     "clientAccountId": "A String", # Numerical account ID of the client buyer
         # that the invited user is associated with.
         # The value of this field is ignored in create operations.
     "email": "A String", # The email address to which the invitation is sent. Email
         # addresses should be unique among all client users under each sponsor
         # buyer.
+    "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
+        # The value of this field is ignored in create operations.
   }
 
   x__xgafv: string, V1 error format.
@@ -120,17 +119,16 @@
 Returns:
   An object of the form:
 
-    { # An invitation for a new client user to get access to the Ad Exchange
-        # Buyer UI.
-        # All fields are required unless otherwise specified.
-      "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
-          # The value of this field is ignored in create operations.
+    { # An invitation for a new client user to get access to the Authorized Buyers
+        # UI. All fields are required unless otherwise specified.
       "clientAccountId": "A String", # Numerical account ID of the client buyer
           # that the invited user is associated with.
           # The value of this field is ignored in create operations.
       "email": "A String", # The email address to which the invitation is sent. Email
           # addresses should be unique among all client users under each sponsor
           # buyer.
+      "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
+          # The value of this field is ignored in create operations.
     }</pre>
 </div>
 
@@ -151,17 +149,16 @@
 Returns:
   An object of the form:
 
-    { # An invitation for a new client user to get access to the Ad Exchange
-        # Buyer UI.
-        # All fields are required unless otherwise specified.
-      "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
-          # The value of this field is ignored in create operations.
+    { # An invitation for a new client user to get access to the Authorized Buyers
+        # UI. All fields are required unless otherwise specified.
       "clientAccountId": "A String", # Numerical account ID of the client buyer
           # that the invited user is associated with.
           # The value of this field is ignored in create operations.
       "email": "A String", # The email address to which the invitation is sent. Email
           # addresses should be unique among all client users under each sponsor
           # buyer.
+      "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
+          # The value of this field is ignored in create operations.
     }</pre>
 </div>
 
@@ -203,17 +200,16 @@
         # method to retrieve the next
         # page of results.
     "invitations": [ # The returned list of client users.
-      { # An invitation for a new client user to get access to the Ad Exchange
-            # Buyer UI.
-            # All fields are required unless otherwise specified.
-          "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
-              # The value of this field is ignored in create operations.
+      { # An invitation for a new client user to get access to the Authorized Buyers
+            # UI. All fields are required unless otherwise specified.
           "clientAccountId": "A String", # Numerical account ID of the client buyer
               # that the invited user is associated with.
               # The value of this field is ignored in create operations.
           "email": "A String", # The email address to which the invitation is sent. Email
               # addresses should be unique among all client users under each sponsor
               # buyer.
+          "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
+              # The value of this field is ignored in create operations.
         },
     ],
   }</pre>
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.users.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.users.html
index b8a41dc..f1dd5f0 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.users.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.users.html
@@ -105,9 +105,8 @@
   An object of the form:
 
     { # A client user is created under a client buyer and has restricted access to
-      # the Ad Exchange Marketplace and certain other sections
-      # of the Ad Exchange Buyer UI based on the role
-      # granted to the associated client buyer.
+      # the Marketplace and certain other sections of the Authorized Buyers UI based
+      # on the role granted to the associated client buyer.
       #
       # The only way a new client user can be created is via accepting an
       # email invitation
@@ -148,7 +147,8 @@
 Typically, this is the value of
 ListClientUsersResponse.nextPageToken
 returned from the previous call to the
-accounts.clients.users.list method.
+accounts.clients.users.list
+method.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -167,9 +167,8 @@
         # page of results.
     "users": [ # The returned list of client users.
       { # A client user is created under a client buyer and has restricted access to
-          # the Ad Exchange Marketplace and certain other sections
-          # of the Ad Exchange Buyer UI based on the role
-          # granted to the associated client buyer.
+          # the Marketplace and certain other sections of the Authorized Buyers UI based
+          # on the role granted to the associated client buyer.
           #
           # The only way a new client user can be created is via accepting an
           # email invitation
@@ -221,9 +220,8 @@
     The object takes the form of:
 
 { # A client user is created under a client buyer and has restricted access to
-    # the Ad Exchange Marketplace and certain other sections
-    # of the Ad Exchange Buyer UI based on the role
-    # granted to the associated client buyer.
+    # the Marketplace and certain other sections of the Authorized Buyers UI based
+    # on the role granted to the associated client buyer.
     # 
     # The only way a new client user can be created is via accepting an
     # email invitation
@@ -253,9 +251,8 @@
   An object of the form:
 
     { # A client user is created under a client buyer and has restricted access to
-      # the Ad Exchange Marketplace and certain other sections
-      # of the Ad Exchange Buyer UI based on the role
-      # granted to the associated client buyer.
+      # the Marketplace and certain other sections of the Authorized Buyers UI based
+      # on the role granted to the associated client buyer.
       #
       # The only way a new client user can be created is via accepting an
       # email invitation
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.creatives.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.creatives.html
index 679f8a7..667d53a 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.creatives.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.creatives.html
@@ -92,7 +92,7 @@
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
-  <code><a href="#stopWatching">stopWatching(accountId, creativeId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#stopWatching">stopWatching(accountId, creativeId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Stops watching a creative. Will stop push notifications being sent to the</p>
 <p class="toc_element">
   <code><a href="#update">update(accountId, creativeId, body, x__xgafv=None)</a></code></p>
@@ -117,38 +117,9 @@
   "impressionTrackingUrls": [ # The set of URLs to be called to record an impression.
     "A String",
   ],
-  "version": 42, # @OutputOnly The version of this creative.
-  "filteringStats": { # @OutputOnly Filtering reasons for this creative during a period of a single # @OutputOnly The filtering stats for this creative.
-      # day (from midnight to midnight Pacific).
-    "reasons": [ # The set of filtering reasons for this date.
-      { # A specific filtering status and how many times it occurred.
-        "count": "A String", # The number of times the creative was filtered for the status. The
-            # count is aggregated across all publishers on the exchange.
-        "status": 42, # The filtering status code. Please refer to the
-            # [creative-status-codes.txt](https://storage.googleapis.com/adx-rtb-dictionaries/creative-status-codes.txt)
-            # file for different statuses.
-      },
-    ],
-    "date": { # Represents a whole calendar date, e.g. date of birth. The time of day and # The day during which the data was collected.
-        # The data is collected from 00:00:00 to 23:59:59 PT.
-        # During switches from PST to PDT and back, the day may
-        # contain 23 or 25 hours of data instead of the usual 24.
-        # time zone are either specified elsewhere or are not significant. The date
-        # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
-        # represent a year and month where the day is not significant, e.g. credit card
-        # expiration date. The year may be 0 to represent a month and day independent
-        # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
-        # and `google.protobuf.Timestamp`.
-      "month": 42, # Month of year. Must be from 1 to 12.
-      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
-          # if specifying a year/month where the day is not significant.
-      "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
-          # a year.
-    },
-  },
-  "detectedLanguages": [ # @OutputOnly
-      # The detected languages for this creative. The order is arbitrary. The codes
-      # are 2 or 5 characters and are documented at
+  "version": 42, # Output only. The version of this creative.
+  "detectedLanguages": [ # Output only. The detected languages for this creative. The order is
+      # arbitrary. The codes are 2 or 5 characters and are documented at
       # https://developers.google.com/adwords/api/docs/appendix/languagecodes.
     "A String",
   ],
@@ -156,15 +127,12 @@
   "clickThroughUrls": [ # The set of destination URLs for the creative.
     "A String",
   ],
-  "openAuctionStatus": "A String", # @OutputOnly The top-level open auction status of this creative.
-      # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
-      # serving_restrictions will also exist. Note
-      # that this may be nuanced with other contextual restrictions, in which case,
-      # it may be preferable to read from serving_restrictions directly.
-      # Can be used to filter the response of the
-      # creatives.list
-      # method.
-  "detectedSensitiveCategories": [ # @OutputOnly Detected sensitive categories, if any.
+  "video": { # Video content for a creative. # A video creative.
+    "videoUrl": "A String", # The URL to fetch a video ad.
+    "videoVastXml": "A String", # The contents of a VAST document for a video ad.
+        # This document should conform to the VAST 2.0 or 3.0 standard.
+  },
+  "detectedSensitiveCategories": [ # Output only. Detected sensitive categories, if any.
       # See the ad-sensitive-categories.txt file in the technical documentation for
       # a list of IDs. You should use these IDs along with the
       # excluded-sensitive-category field in the bid request to filter your bids.
@@ -174,26 +142,10 @@
       # Can be used to filter the response of the
       # creatives.list
       # method.
-  "detectedAdvertiserIds": [ # @OutputOnly Detected advertiser IDs, if any.
+  "detectedAdvertiserIds": [ # Output only. Detected advertiser IDs, if any.
     "A String",
   ],
   "adChoicesDestinationUrl": "A String", # The link to AdChoices destination page.
-  "accountId": "A String", # The account that this creative belongs to.
-      # Can be used to filter the response of the
-      # creatives.list
-      # method.
-  "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
-      # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
-      # for possible values.
-    42,
-  ],
-  "agencyId": "A String", # The agency ID for this creative.
-  "html": { # HTML content for a creative. # An HTML creative.
-    "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
-    "width": 42, # The width of the HTML snippet in pixels.
-    "height": 42, # The height of the HTML snippet in pixels.
-  },
-  "apiUpdateTime": "A String", # @OutputOnly The last update timestamp of the creative via API.
   "native": { # Native content for a creative. # A native creative.
     "body": "A String", # A long description of the ad.
     "videoUrl": "A String", # The URL to fetch a native video ad.
@@ -224,13 +176,52 @@
     "storeUrl": "A String", # The URL to the app store to purchase/download the promoted app.
     "clickLinkUrl": "A String", # The URL that the browser/SDK will load when the user clicks the ad.
   },
-  "detectedProductCategories": [ # @OutputOnly Detected product categories, if any.
+  "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
+      # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
+      # for possible values.
+    42,
+  ],
+  "agencyId": "A String", # The agency ID for this creative.
+  "html": { # HTML content for a creative. # An HTML creative.
+    "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
+    "width": 42, # The width of the HTML snippet in pixels.
+    "height": 42, # The height of the HTML snippet in pixels.
+  },
+  "apiUpdateTime": "A String", # Output only. The last update timestamp of the creative via API.
+  "accountId": "A String", # The account that this creative belongs to.
+      # Can be used to filter the response of the
+      # creatives.list
+      # method.
+  "detectedProductCategories": [ # Output only. Detected product categories, if any.
       # See the ad-product-categories.txt file in the technical documentation
       # for a list of IDs.
     42,
   ],
-  "detectedDomains": [ # @OutputOnly
-      # The detected domains for this creative.
+  "adTechnologyProviders": { # Detected ad technology provider information. # Output only. The detected ad technology providers.
+    "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider.
+        #
+        # If true for a given creative, any bid submitted with that creative for an
+        # impression that will serve to an EEA user will be filtered before the
+        # auction.
+    "detectedProviderIds": [ # The detected ad technology provider IDs for this creative.
+        # See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for
+        # mapping of provider ID to provided name, a privacy policy URL, and a list
+        # of domains which can be attributed to the provider.
+        #
+        # If the creative contains provider IDs that are outside of those listed in
+        # the `BidRequest.adslot.consented_providers_settings.consented_providers`
+        # field on the (Google bid
+        # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto]
+        # and the
+        # `BidRequest.user.ext.consented_providers_settings.consented_providers`
+        # field on the (OpenRTB
+        # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto],
+        # and a bid is submitted with that creative for an impression that will
+        # serve to an EEA user, the bid will be filtered before the auction.
+      "A String",
+    ],
+  },
+  "detectedDomains": [ # Output only. The detected domains for this creative.
     "A String",
   ],
   "attributes": [ # All attributes for the ads that may be shown from this creative.
@@ -239,7 +230,7 @@
       # method.
     "A String",
   ],
-  "dealsStatus": "A String", # @OutputOnly The top-level deals status of this creative.
+  "dealsStatus": "A String", # Output only. The top-level deals status of this creative.
       # If disapproved, an entry for 'auctionType=DIRECT_DEALS' (or 'ALL') in
       # serving_restrictions will also exist. Note
       # that this may be nuanced with other contextual restrictions, in which case,
@@ -247,33 +238,33 @@
       # Can be used to filter the response of the
       # creatives.list
       # method.
-  "servingRestrictions": [ # @OutputOnly The granular status of this ad in specific contexts.
+  "servingRestrictions": [ # Output only. The granular status of this ad in specific contexts.
       # A context here relates to where something ultimately serves (for example,
       # a physical location, a platform, an HTTPS vs HTTP request, or the type
       # of auction).
-    { # @OutputOnly A representation of the status of an ad in a
+    { # Output only. A representation of the status of an ad in a
         # specific context. A context here relates to where something ultimately serves
         # (for example, a user or publisher geo, a platform, an HTTPS vs HTTP request,
         # or the type of auction).
       "contexts": [ # The contexts for the restriction.
         { # The serving context for this restriction.
           "all": "A String", # Matches all contexts.
-          "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+          "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
             "appTypes": [ # The app types this restriction applies to.
               "A String",
             ],
           },
-          "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+          "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
             "securities": [ # The security types in this context.
               "A String",
             ],
           },
-          "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+          "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
             "platforms": [ # The platforms this restriction applies to.
               "A String",
             ],
           },
-          "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+          "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
               # location.
             "geoCriteriaIds": [ # IDs representing the geo location for this context.
                 # Please refer to the
@@ -282,7 +273,7 @@
               42,
             ],
           },
-          "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+          "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
             "auctionTypes": [ # The auction types this restriction applies to.
               "A String",
             ],
@@ -296,39 +287,55 @@
           # Can be used to filter the response of the
           # creatives.list
           # method.
-        { # @OutputOnly The reason and details for a disapproval.
+          # Deprecated; please use
+          # disapproval
+          # field instead.
+        { # Output only. The reason and details for a disapproval.
           "reason": "A String", # The categorized reason for disapproval.
           "details": [ # Additional details about the reason for disapproval.
             "A String",
           ],
         },
       ],
+      "disapproval": { # Output only. The reason and details for a disapproval. # Disapproval bound to this restriction.
+          # Only present if status=DISAPPROVED.
+          # Can be used to filter the response of the
+          # creatives.list
+          # method.
+        "reason": "A String", # The categorized reason for disapproval.
+        "details": [ # Additional details about the reason for disapproval.
+          "A String",
+        ],
+      },
     },
   ],
+  "declaredClickThroughUrls": [ # The set of declared destination URLs for the creative.
+    "A String",
+  ],
   "restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative.
     "A String",
   ],
-  "corrections": [ # @OutputOnly Shows any corrections that were applied to this creative.
-    { # @OutputOnly Shows any corrections that were applied to this creative.
+  "corrections": [ # Output only. Shows any corrections that were applied to this creative.
+    { # Output only. Shows any corrections that were applied to this creative.
       "contexts": [ # The contexts for the correction.
         { # The serving context for this restriction.
           "all": "A String", # Matches all contexts.
-          "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+          "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
             "appTypes": [ # The app types this restriction applies to.
               "A String",
             ],
           },
-          "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+          "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
             "securities": [ # The security types in this context.
               "A String",
             ],
           },
-          "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+          "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
             "platforms": [ # The platforms this restriction applies to.
               "A String",
             ],
           },
-          "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+          "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
               # location.
             "geoCriteriaIds": [ # IDs representing the geo location for this context.
                 # Please refer to the
@@ -337,7 +344,7 @@
               42,
             ],
           },
-          "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+          "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
             "auctionTypes": [ # The auction types this restriction applies to.
               "A String",
             ],
@@ -350,9 +357,14 @@
       ],
     },
   ],
-  "video": { # Video content for a creative. # A video creative.
-    "videoUrl": "A String", # The URL to fetch a video ad.
-  },
+  "openAuctionStatus": "A String", # Output only. The top-level open auction status of this creative.
+      # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
+      # serving_restrictions will also exist. Note
+      # that this may be nuanced with other contextual restrictions, in which case,
+      # it may be preferable to read from serving_restrictions directly.
+      # Can be used to filter the response of the
+      # creatives.list
+      # method.
 }
 
   duplicateIdMode: string, Indicates if multiple creatives can share an ID or not. Default is
@@ -369,38 +381,9 @@
     "impressionTrackingUrls": [ # The set of URLs to be called to record an impression.
       "A String",
     ],
-    "version": 42, # @OutputOnly The version of this creative.
-    "filteringStats": { # @OutputOnly Filtering reasons for this creative during a period of a single # @OutputOnly The filtering stats for this creative.
-        # day (from midnight to midnight Pacific).
-      "reasons": [ # The set of filtering reasons for this date.
-        { # A specific filtering status and how many times it occurred.
-          "count": "A String", # The number of times the creative was filtered for the status. The
-              # count is aggregated across all publishers on the exchange.
-          "status": 42, # The filtering status code. Please refer to the
-              # [creative-status-codes.txt](https://storage.googleapis.com/adx-rtb-dictionaries/creative-status-codes.txt)
-              # file for different statuses.
-        },
-      ],
-      "date": { # Represents a whole calendar date, e.g. date of birth. The time of day and # The day during which the data was collected.
-          # The data is collected from 00:00:00 to 23:59:59 PT.
-          # During switches from PST to PDT and back, the day may
-          # contain 23 or 25 hours of data instead of the usual 24.
-          # time zone are either specified elsewhere or are not significant. The date
-          # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
-          # represent a year and month where the day is not significant, e.g. credit card
-          # expiration date. The year may be 0 to represent a month and day independent
-          # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
-          # and `google.protobuf.Timestamp`.
-        "month": 42, # Month of year. Must be from 1 to 12.
-        "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
-            # if specifying a year/month where the day is not significant.
-        "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
-            # a year.
-      },
-    },
-    "detectedLanguages": [ # @OutputOnly
-        # The detected languages for this creative. The order is arbitrary. The codes
-        # are 2 or 5 characters and are documented at
+    "version": 42, # Output only. The version of this creative.
+    "detectedLanguages": [ # Output only. The detected languages for this creative. The order is
+        # arbitrary. The codes are 2 or 5 characters and are documented at
         # https://developers.google.com/adwords/api/docs/appendix/languagecodes.
       "A String",
     ],
@@ -408,15 +391,12 @@
     "clickThroughUrls": [ # The set of destination URLs for the creative.
       "A String",
     ],
-    "openAuctionStatus": "A String", # @OutputOnly The top-level open auction status of this creative.
-        # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
-        # serving_restrictions will also exist. Note
-        # that this may be nuanced with other contextual restrictions, in which case,
-        # it may be preferable to read from serving_restrictions directly.
-        # Can be used to filter the response of the
-        # creatives.list
-        # method.
-    "detectedSensitiveCategories": [ # @OutputOnly Detected sensitive categories, if any.
+    "video": { # Video content for a creative. # A video creative.
+      "videoUrl": "A String", # The URL to fetch a video ad.
+      "videoVastXml": "A String", # The contents of a VAST document for a video ad.
+          # This document should conform to the VAST 2.0 or 3.0 standard.
+    },
+    "detectedSensitiveCategories": [ # Output only. Detected sensitive categories, if any.
         # See the ad-sensitive-categories.txt file in the technical documentation for
         # a list of IDs. You should use these IDs along with the
         # excluded-sensitive-category field in the bid request to filter your bids.
@@ -426,26 +406,10 @@
         # Can be used to filter the response of the
         # creatives.list
         # method.
-    "detectedAdvertiserIds": [ # @OutputOnly Detected advertiser IDs, if any.
+    "detectedAdvertiserIds": [ # Output only. Detected advertiser IDs, if any.
       "A String",
     ],
     "adChoicesDestinationUrl": "A String", # The link to AdChoices destination page.
-    "accountId": "A String", # The account that this creative belongs to.
-        # Can be used to filter the response of the
-        # creatives.list
-        # method.
-    "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
-        # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
-        # for possible values.
-      42,
-    ],
-    "agencyId": "A String", # The agency ID for this creative.
-    "html": { # HTML content for a creative. # An HTML creative.
-      "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
-      "width": 42, # The width of the HTML snippet in pixels.
-      "height": 42, # The height of the HTML snippet in pixels.
-    },
-    "apiUpdateTime": "A String", # @OutputOnly The last update timestamp of the creative via API.
     "native": { # Native content for a creative. # A native creative.
       "body": "A String", # A long description of the ad.
       "videoUrl": "A String", # The URL to fetch a native video ad.
@@ -476,13 +440,52 @@
       "storeUrl": "A String", # The URL to the app store to purchase/download the promoted app.
       "clickLinkUrl": "A String", # The URL that the browser/SDK will load when the user clicks the ad.
     },
-    "detectedProductCategories": [ # @OutputOnly Detected product categories, if any.
+    "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
+        # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
+        # for possible values.
+      42,
+    ],
+    "agencyId": "A String", # The agency ID for this creative.
+    "html": { # HTML content for a creative. # An HTML creative.
+      "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
+      "width": 42, # The width of the HTML snippet in pixels.
+      "height": 42, # The height of the HTML snippet in pixels.
+    },
+    "apiUpdateTime": "A String", # Output only. The last update timestamp of the creative via API.
+    "accountId": "A String", # The account that this creative belongs to.
+        # Can be used to filter the response of the
+        # creatives.list
+        # method.
+    "detectedProductCategories": [ # Output only. Detected product categories, if any.
         # See the ad-product-categories.txt file in the technical documentation
         # for a list of IDs.
       42,
     ],
-    "detectedDomains": [ # @OutputOnly
-        # The detected domains for this creative.
+    "adTechnologyProviders": { # Detected ad technology provider information. # Output only. The detected ad technology providers.
+      "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider.
+          #
+          # If true for a given creative, any bid submitted with that creative for an
+          # impression that will serve to an EEA user will be filtered before the
+          # auction.
+      "detectedProviderIds": [ # The detected ad technology provider IDs for this creative.
+          # See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for
+          # mapping of provider ID to provided name, a privacy policy URL, and a list
+          # of domains which can be attributed to the provider.
+          #
+          # If the creative contains provider IDs that are outside of those listed in
+          # the `BidRequest.adslot.consented_providers_settings.consented_providers`
+          # field on the (Google bid
+          # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto]
+          # and the
+          # `BidRequest.user.ext.consented_providers_settings.consented_providers`
+          # field on the (OpenRTB
+          # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto],
+          # and a bid is submitted with that creative for an impression that will
+          # serve to an EEA user, the bid will be filtered before the auction.
+        "A String",
+      ],
+    },
+    "detectedDomains": [ # Output only. The detected domains for this creative.
       "A String",
     ],
     "attributes": [ # All attributes for the ads that may be shown from this creative.
@@ -491,7 +494,7 @@
         # method.
       "A String",
     ],
-    "dealsStatus": "A String", # @OutputOnly The top-level deals status of this creative.
+    "dealsStatus": "A String", # Output only. The top-level deals status of this creative.
         # If disapproved, an entry for 'auctionType=DIRECT_DEALS' (or 'ALL') in
         # serving_restrictions will also exist. Note
         # that this may be nuanced with other contextual restrictions, in which case,
@@ -499,33 +502,33 @@
         # Can be used to filter the response of the
         # creatives.list
         # method.
-    "servingRestrictions": [ # @OutputOnly The granular status of this ad in specific contexts.
+    "servingRestrictions": [ # Output only. The granular status of this ad in specific contexts.
         # A context here relates to where something ultimately serves (for example,
         # a physical location, a platform, an HTTPS vs HTTP request, or the type
         # of auction).
-      { # @OutputOnly A representation of the status of an ad in a
+      { # Output only. A representation of the status of an ad in a
           # specific context. A context here relates to where something ultimately serves
           # (for example, a user or publisher geo, a platform, an HTTPS vs HTTP request,
           # or the type of auction).
         "contexts": [ # The contexts for the restriction.
           { # The serving context for this restriction.
             "all": "A String", # Matches all contexts.
-            "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+            "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
               "appTypes": [ # The app types this restriction applies to.
                 "A String",
               ],
             },
-            "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+            "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
               "securities": [ # The security types in this context.
                 "A String",
               ],
             },
-            "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+            "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
               "platforms": [ # The platforms this restriction applies to.
                 "A String",
               ],
             },
-            "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+            "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
                 # location.
               "geoCriteriaIds": [ # IDs representing the geo location for this context.
                   # Please refer to the
@@ -534,7 +537,7 @@
                 42,
               ],
             },
-            "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+            "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
               "auctionTypes": [ # The auction types this restriction applies to.
                 "A String",
               ],
@@ -548,39 +551,55 @@
             # Can be used to filter the response of the
             # creatives.list
             # method.
-          { # @OutputOnly The reason and details for a disapproval.
+            # Deprecated; please use
+            # disapproval
+            # field instead.
+          { # Output only. The reason and details for a disapproval.
             "reason": "A String", # The categorized reason for disapproval.
             "details": [ # Additional details about the reason for disapproval.
               "A String",
             ],
           },
         ],
+        "disapproval": { # Output only. The reason and details for a disapproval. # Disapproval bound to this restriction.
+            # Only present if status=DISAPPROVED.
+            # Can be used to filter the response of the
+            # creatives.list
+            # method.
+          "reason": "A String", # The categorized reason for disapproval.
+          "details": [ # Additional details about the reason for disapproval.
+            "A String",
+          ],
+        },
       },
     ],
+    "declaredClickThroughUrls": [ # The set of declared destination URLs for the creative.
+      "A String",
+    ],
     "restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative.
       "A String",
     ],
-    "corrections": [ # @OutputOnly Shows any corrections that were applied to this creative.
-      { # @OutputOnly Shows any corrections that were applied to this creative.
+    "corrections": [ # Output only. Shows any corrections that were applied to this creative.
+      { # Output only. Shows any corrections that were applied to this creative.
         "contexts": [ # The contexts for the correction.
           { # The serving context for this restriction.
             "all": "A String", # Matches all contexts.
-            "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+            "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
               "appTypes": [ # The app types this restriction applies to.
                 "A String",
               ],
             },
-            "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+            "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
               "securities": [ # The security types in this context.
                 "A String",
               ],
             },
-            "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+            "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
               "platforms": [ # The platforms this restriction applies to.
                 "A String",
               ],
             },
-            "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+            "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
                 # location.
               "geoCriteriaIds": [ # IDs representing the geo location for this context.
                   # Please refer to the
@@ -589,7 +608,7 @@
                 42,
               ],
             },
-            "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+            "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
               "auctionTypes": [ # The auction types this restriction applies to.
                 "A String",
               ],
@@ -602,9 +621,14 @@
         ],
       },
     ],
-    "video": { # Video content for a creative. # A video creative.
-      "videoUrl": "A String", # The URL to fetch a video ad.
-    },
+    "openAuctionStatus": "A String", # Output only. The top-level open auction status of this creative.
+        # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
+        # serving_restrictions will also exist. Note
+        # that this may be nuanced with other contextual restrictions, in which case,
+        # it may be preferable to read from serving_restrictions directly.
+        # Can be used to filter the response of the
+        # creatives.list
+        # method.
   }</pre>
 </div>
 
@@ -627,38 +651,9 @@
     "impressionTrackingUrls": [ # The set of URLs to be called to record an impression.
       "A String",
     ],
-    "version": 42, # @OutputOnly The version of this creative.
-    "filteringStats": { # @OutputOnly Filtering reasons for this creative during a period of a single # @OutputOnly The filtering stats for this creative.
-        # day (from midnight to midnight Pacific).
-      "reasons": [ # The set of filtering reasons for this date.
-        { # A specific filtering status and how many times it occurred.
-          "count": "A String", # The number of times the creative was filtered for the status. The
-              # count is aggregated across all publishers on the exchange.
-          "status": 42, # The filtering status code. Please refer to the
-              # [creative-status-codes.txt](https://storage.googleapis.com/adx-rtb-dictionaries/creative-status-codes.txt)
-              # file for different statuses.
-        },
-      ],
-      "date": { # Represents a whole calendar date, e.g. date of birth. The time of day and # The day during which the data was collected.
-          # The data is collected from 00:00:00 to 23:59:59 PT.
-          # During switches from PST to PDT and back, the day may
-          # contain 23 or 25 hours of data instead of the usual 24.
-          # time zone are either specified elsewhere or are not significant. The date
-          # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
-          # represent a year and month where the day is not significant, e.g. credit card
-          # expiration date. The year may be 0 to represent a month and day independent
-          # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
-          # and `google.protobuf.Timestamp`.
-        "month": 42, # Month of year. Must be from 1 to 12.
-        "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
-            # if specifying a year/month where the day is not significant.
-        "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
-            # a year.
-      },
-    },
-    "detectedLanguages": [ # @OutputOnly
-        # The detected languages for this creative. The order is arbitrary. The codes
-        # are 2 or 5 characters and are documented at
+    "version": 42, # Output only. The version of this creative.
+    "detectedLanguages": [ # Output only. The detected languages for this creative. The order is
+        # arbitrary. The codes are 2 or 5 characters and are documented at
         # https://developers.google.com/adwords/api/docs/appendix/languagecodes.
       "A String",
     ],
@@ -666,15 +661,12 @@
     "clickThroughUrls": [ # The set of destination URLs for the creative.
       "A String",
     ],
-    "openAuctionStatus": "A String", # @OutputOnly The top-level open auction status of this creative.
-        # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
-        # serving_restrictions will also exist. Note
-        # that this may be nuanced with other contextual restrictions, in which case,
-        # it may be preferable to read from serving_restrictions directly.
-        # Can be used to filter the response of the
-        # creatives.list
-        # method.
-    "detectedSensitiveCategories": [ # @OutputOnly Detected sensitive categories, if any.
+    "video": { # Video content for a creative. # A video creative.
+      "videoUrl": "A String", # The URL to fetch a video ad.
+      "videoVastXml": "A String", # The contents of a VAST document for a video ad.
+          # This document should conform to the VAST 2.0 or 3.0 standard.
+    },
+    "detectedSensitiveCategories": [ # Output only. Detected sensitive categories, if any.
         # See the ad-sensitive-categories.txt file in the technical documentation for
         # a list of IDs. You should use these IDs along with the
         # excluded-sensitive-category field in the bid request to filter your bids.
@@ -684,26 +676,10 @@
         # Can be used to filter the response of the
         # creatives.list
         # method.
-    "detectedAdvertiserIds": [ # @OutputOnly Detected advertiser IDs, if any.
+    "detectedAdvertiserIds": [ # Output only. Detected advertiser IDs, if any.
       "A String",
     ],
     "adChoicesDestinationUrl": "A String", # The link to AdChoices destination page.
-    "accountId": "A String", # The account that this creative belongs to.
-        # Can be used to filter the response of the
-        # creatives.list
-        # method.
-    "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
-        # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
-        # for possible values.
-      42,
-    ],
-    "agencyId": "A String", # The agency ID for this creative.
-    "html": { # HTML content for a creative. # An HTML creative.
-      "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
-      "width": 42, # The width of the HTML snippet in pixels.
-      "height": 42, # The height of the HTML snippet in pixels.
-    },
-    "apiUpdateTime": "A String", # @OutputOnly The last update timestamp of the creative via API.
     "native": { # Native content for a creative. # A native creative.
       "body": "A String", # A long description of the ad.
       "videoUrl": "A String", # The URL to fetch a native video ad.
@@ -734,13 +710,52 @@
       "storeUrl": "A String", # The URL to the app store to purchase/download the promoted app.
       "clickLinkUrl": "A String", # The URL that the browser/SDK will load when the user clicks the ad.
     },
-    "detectedProductCategories": [ # @OutputOnly Detected product categories, if any.
+    "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
+        # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
+        # for possible values.
+      42,
+    ],
+    "agencyId": "A String", # The agency ID for this creative.
+    "html": { # HTML content for a creative. # An HTML creative.
+      "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
+      "width": 42, # The width of the HTML snippet in pixels.
+      "height": 42, # The height of the HTML snippet in pixels.
+    },
+    "apiUpdateTime": "A String", # Output only. The last update timestamp of the creative via API.
+    "accountId": "A String", # The account that this creative belongs to.
+        # Can be used to filter the response of the
+        # creatives.list
+        # method.
+    "detectedProductCategories": [ # Output only. Detected product categories, if any.
         # See the ad-product-categories.txt file in the technical documentation
         # for a list of IDs.
       42,
     ],
-    "detectedDomains": [ # @OutputOnly
-        # The detected domains for this creative.
+    "adTechnologyProviders": { # Detected ad technology provider information. # Output only. The detected ad technology providers.
+      "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider.
+          #
+          # If true for a given creative, any bid submitted with that creative for an
+          # impression that will serve to an EEA user will be filtered before the
+          # auction.
+      "detectedProviderIds": [ # The detected ad technology provider IDs for this creative.
+          # See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for
+          # mapping of provider ID to provided name, a privacy policy URL, and a list
+          # of domains which can be attributed to the provider.
+          #
+          # If the creative contains provider IDs that are outside of those listed in
+          # the `BidRequest.adslot.consented_providers_settings.consented_providers`
+          # field on the (Google bid
+          # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto]
+          # and the
+          # `BidRequest.user.ext.consented_providers_settings.consented_providers`
+          # field on the (OpenRTB
+          # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto],
+          # and a bid is submitted with that creative for an impression that will
+          # serve to an EEA user, the bid will be filtered before the auction.
+        "A String",
+      ],
+    },
+    "detectedDomains": [ # Output only. The detected domains for this creative.
       "A String",
     ],
     "attributes": [ # All attributes for the ads that may be shown from this creative.
@@ -749,7 +764,7 @@
         # method.
       "A String",
     ],
-    "dealsStatus": "A String", # @OutputOnly The top-level deals status of this creative.
+    "dealsStatus": "A String", # Output only. The top-level deals status of this creative.
         # If disapproved, an entry for 'auctionType=DIRECT_DEALS' (or 'ALL') in
         # serving_restrictions will also exist. Note
         # that this may be nuanced with other contextual restrictions, in which case,
@@ -757,33 +772,33 @@
         # Can be used to filter the response of the
         # creatives.list
         # method.
-    "servingRestrictions": [ # @OutputOnly The granular status of this ad in specific contexts.
+    "servingRestrictions": [ # Output only. The granular status of this ad in specific contexts.
         # A context here relates to where something ultimately serves (for example,
         # a physical location, a platform, an HTTPS vs HTTP request, or the type
         # of auction).
-      { # @OutputOnly A representation of the status of an ad in a
+      { # Output only. A representation of the status of an ad in a
           # specific context. A context here relates to where something ultimately serves
           # (for example, a user or publisher geo, a platform, an HTTPS vs HTTP request,
           # or the type of auction).
         "contexts": [ # The contexts for the restriction.
           { # The serving context for this restriction.
             "all": "A String", # Matches all contexts.
-            "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+            "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
               "appTypes": [ # The app types this restriction applies to.
                 "A String",
               ],
             },
-            "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+            "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
               "securities": [ # The security types in this context.
                 "A String",
               ],
             },
-            "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+            "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
               "platforms": [ # The platforms this restriction applies to.
                 "A String",
               ],
             },
-            "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+            "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
                 # location.
               "geoCriteriaIds": [ # IDs representing the geo location for this context.
                   # Please refer to the
@@ -792,7 +807,7 @@
                 42,
               ],
             },
-            "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+            "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
               "auctionTypes": [ # The auction types this restriction applies to.
                 "A String",
               ],
@@ -806,39 +821,55 @@
             # Can be used to filter the response of the
             # creatives.list
             # method.
-          { # @OutputOnly The reason and details for a disapproval.
+            # Deprecated; please use
+            # disapproval
+            # field instead.
+          { # Output only. The reason and details for a disapproval.
             "reason": "A String", # The categorized reason for disapproval.
             "details": [ # Additional details about the reason for disapproval.
               "A String",
             ],
           },
         ],
+        "disapproval": { # Output only. The reason and details for a disapproval. # Disapproval bound to this restriction.
+            # Only present if status=DISAPPROVED.
+            # Can be used to filter the response of the
+            # creatives.list
+            # method.
+          "reason": "A String", # The categorized reason for disapproval.
+          "details": [ # Additional details about the reason for disapproval.
+            "A String",
+          ],
+        },
       },
     ],
+    "declaredClickThroughUrls": [ # The set of declared destination URLs for the creative.
+      "A String",
+    ],
     "restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative.
       "A String",
     ],
-    "corrections": [ # @OutputOnly Shows any corrections that were applied to this creative.
-      { # @OutputOnly Shows any corrections that were applied to this creative.
+    "corrections": [ # Output only. Shows any corrections that were applied to this creative.
+      { # Output only. Shows any corrections that were applied to this creative.
         "contexts": [ # The contexts for the correction.
           { # The serving context for this restriction.
             "all": "A String", # Matches all contexts.
-            "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+            "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
               "appTypes": [ # The app types this restriction applies to.
                 "A String",
               ],
             },
-            "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+            "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
               "securities": [ # The security types in this context.
                 "A String",
               ],
             },
-            "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+            "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
               "platforms": [ # The platforms this restriction applies to.
                 "A String",
               ],
             },
-            "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+            "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
                 # location.
               "geoCriteriaIds": [ # IDs representing the geo location for this context.
                   # Please refer to the
@@ -847,7 +878,7 @@
                 42,
               ],
             },
-            "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+            "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
               "auctionTypes": [ # The auction types this restriction applies to.
                 "A String",
               ],
@@ -860,9 +891,14 @@
         ],
       },
     ],
-    "video": { # Video content for a creative. # A video creative.
-      "videoUrl": "A String", # The URL to fetch a video ad.
-    },
+    "openAuctionStatus": "A String", # Output only. The top-level open auction status of this creative.
+        # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
+        # serving_restrictions will also exist. Note
+        # that this may be nuanced with other contextual restrictions, in which case,
+        # it may be preferable to read from serving_restrictions directly.
+        # Can be used to filter the response of the
+        # creatives.list
+        # method.
   }</pre>
 </div>
 
@@ -883,7 +919,7 @@
 returned from the previous call to 'ListCreatives' method.
   query: string, An optional query string to filter creatives. If no filter is specified,
 all active creatives will be returned.
-Supported queries are:
+<p>Supported queries are:
 <ul>
 <li>accountId=<i>account_id_string</i>
 <li>creativeId=<i>creative_id_string</i>
@@ -892,9 +928,11 @@
 <li>openAuctionStatus: {approved, conditionally_approved, disapproved,
                           not_checked}
 <li>attribute: {a numeric attribute from the list of attributes}
-<li>disapprovalReason: {a reason from DisapprovalReason
+<li>disapprovalReason: {a reason from
+DisapprovalReason}
 </ul>
-Example: 'accountId=12345 AND (dealsStatus:disapproved AND disapprovalReason:unacceptable_content) OR attribute:47'
+Example: 'accountId=12345 AND (dealsStatus:disapproved AND
+disapprovalReason:unacceptable_content) OR attribute:47'
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -914,38 +952,9 @@
         "impressionTrackingUrls": [ # The set of URLs to be called to record an impression.
           "A String",
         ],
-        "version": 42, # @OutputOnly The version of this creative.
-        "filteringStats": { # @OutputOnly Filtering reasons for this creative during a period of a single # @OutputOnly The filtering stats for this creative.
-            # day (from midnight to midnight Pacific).
-          "reasons": [ # The set of filtering reasons for this date.
-            { # A specific filtering status and how many times it occurred.
-              "count": "A String", # The number of times the creative was filtered for the status. The
-                  # count is aggregated across all publishers on the exchange.
-              "status": 42, # The filtering status code. Please refer to the
-                  # [creative-status-codes.txt](https://storage.googleapis.com/adx-rtb-dictionaries/creative-status-codes.txt)
-                  # file for different statuses.
-            },
-          ],
-          "date": { # Represents a whole calendar date, e.g. date of birth. The time of day and # The day during which the data was collected.
-              # The data is collected from 00:00:00 to 23:59:59 PT.
-              # During switches from PST to PDT and back, the day may
-              # contain 23 or 25 hours of data instead of the usual 24.
-              # time zone are either specified elsewhere or are not significant. The date
-              # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
-              # represent a year and month where the day is not significant, e.g. credit card
-              # expiration date. The year may be 0 to represent a month and day independent
-              # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
-              # and `google.protobuf.Timestamp`.
-            "month": 42, # Month of year. Must be from 1 to 12.
-            "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
-                # if specifying a year/month where the day is not significant.
-            "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
-                # a year.
-          },
-        },
-        "detectedLanguages": [ # @OutputOnly
-            # The detected languages for this creative. The order is arbitrary. The codes
-            # are 2 or 5 characters and are documented at
+        "version": 42, # Output only. The version of this creative.
+        "detectedLanguages": [ # Output only. The detected languages for this creative. The order is
+            # arbitrary. The codes are 2 or 5 characters and are documented at
             # https://developers.google.com/adwords/api/docs/appendix/languagecodes.
           "A String",
         ],
@@ -953,15 +962,12 @@
         "clickThroughUrls": [ # The set of destination URLs for the creative.
           "A String",
         ],
-        "openAuctionStatus": "A String", # @OutputOnly The top-level open auction status of this creative.
-            # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
-            # serving_restrictions will also exist. Note
-            # that this may be nuanced with other contextual restrictions, in which case,
-            # it may be preferable to read from serving_restrictions directly.
-            # Can be used to filter the response of the
-            # creatives.list
-            # method.
-        "detectedSensitiveCategories": [ # @OutputOnly Detected sensitive categories, if any.
+        "video": { # Video content for a creative. # A video creative.
+          "videoUrl": "A String", # The URL to fetch a video ad.
+          "videoVastXml": "A String", # The contents of a VAST document for a video ad.
+              # This document should conform to the VAST 2.0 or 3.0 standard.
+        },
+        "detectedSensitiveCategories": [ # Output only. Detected sensitive categories, if any.
             # See the ad-sensitive-categories.txt file in the technical documentation for
             # a list of IDs. You should use these IDs along with the
             # excluded-sensitive-category field in the bid request to filter your bids.
@@ -971,26 +977,10 @@
             # Can be used to filter the response of the
             # creatives.list
             # method.
-        "detectedAdvertiserIds": [ # @OutputOnly Detected advertiser IDs, if any.
+        "detectedAdvertiserIds": [ # Output only. Detected advertiser IDs, if any.
           "A String",
         ],
         "adChoicesDestinationUrl": "A String", # The link to AdChoices destination page.
-        "accountId": "A String", # The account that this creative belongs to.
-            # Can be used to filter the response of the
-            # creatives.list
-            # method.
-        "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
-            # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
-            # for possible values.
-          42,
-        ],
-        "agencyId": "A String", # The agency ID for this creative.
-        "html": { # HTML content for a creative. # An HTML creative.
-          "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
-          "width": 42, # The width of the HTML snippet in pixels.
-          "height": 42, # The height of the HTML snippet in pixels.
-        },
-        "apiUpdateTime": "A String", # @OutputOnly The last update timestamp of the creative via API.
         "native": { # Native content for a creative. # A native creative.
           "body": "A String", # A long description of the ad.
           "videoUrl": "A String", # The URL to fetch a native video ad.
@@ -1021,13 +1011,52 @@
           "storeUrl": "A String", # The URL to the app store to purchase/download the promoted app.
           "clickLinkUrl": "A String", # The URL that the browser/SDK will load when the user clicks the ad.
         },
-        "detectedProductCategories": [ # @OutputOnly Detected product categories, if any.
+        "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
+            # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
+            # for possible values.
+          42,
+        ],
+        "agencyId": "A String", # The agency ID for this creative.
+        "html": { # HTML content for a creative. # An HTML creative.
+          "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
+          "width": 42, # The width of the HTML snippet in pixels.
+          "height": 42, # The height of the HTML snippet in pixels.
+        },
+        "apiUpdateTime": "A String", # Output only. The last update timestamp of the creative via API.
+        "accountId": "A String", # The account that this creative belongs to.
+            # Can be used to filter the response of the
+            # creatives.list
+            # method.
+        "detectedProductCategories": [ # Output only. Detected product categories, if any.
             # See the ad-product-categories.txt file in the technical documentation
             # for a list of IDs.
           42,
         ],
-        "detectedDomains": [ # @OutputOnly
-            # The detected domains for this creative.
+        "adTechnologyProviders": { # Detected ad technology provider information. # Output only. The detected ad technology providers.
+          "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider.
+              #
+              # If true for a given creative, any bid submitted with that creative for an
+              # impression that will serve to an EEA user will be filtered before the
+              # auction.
+          "detectedProviderIds": [ # The detected ad technology provider IDs for this creative.
+              # See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for
+              # mapping of provider ID to provided name, a privacy policy URL, and a list
+              # of domains which can be attributed to the provider.
+              #
+              # If the creative contains provider IDs that are outside of those listed in
+              # the `BidRequest.adslot.consented_providers_settings.consented_providers`
+              # field on the (Google bid
+              # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto]
+              # and the
+              # `BidRequest.user.ext.consented_providers_settings.consented_providers`
+              # field on the (OpenRTB
+              # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto],
+              # and a bid is submitted with that creative for an impression that will
+              # serve to an EEA user, the bid will be filtered before the auction.
+            "A String",
+          ],
+        },
+        "detectedDomains": [ # Output only. The detected domains for this creative.
           "A String",
         ],
         "attributes": [ # All attributes for the ads that may be shown from this creative.
@@ -1036,7 +1065,7 @@
             # method.
           "A String",
         ],
-        "dealsStatus": "A String", # @OutputOnly The top-level deals status of this creative.
+        "dealsStatus": "A String", # Output only. The top-level deals status of this creative.
             # If disapproved, an entry for 'auctionType=DIRECT_DEALS' (or 'ALL') in
             # serving_restrictions will also exist. Note
             # that this may be nuanced with other contextual restrictions, in which case,
@@ -1044,33 +1073,33 @@
             # Can be used to filter the response of the
             # creatives.list
             # method.
-        "servingRestrictions": [ # @OutputOnly The granular status of this ad in specific contexts.
+        "servingRestrictions": [ # Output only. The granular status of this ad in specific contexts.
             # A context here relates to where something ultimately serves (for example,
             # a physical location, a platform, an HTTPS vs HTTP request, or the type
             # of auction).
-          { # @OutputOnly A representation of the status of an ad in a
+          { # Output only. A representation of the status of an ad in a
               # specific context. A context here relates to where something ultimately serves
               # (for example, a user or publisher geo, a platform, an HTTPS vs HTTP request,
               # or the type of auction).
             "contexts": [ # The contexts for the restriction.
               { # The serving context for this restriction.
                 "all": "A String", # Matches all contexts.
-                "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+                "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
                   "appTypes": [ # The app types this restriction applies to.
                     "A String",
                   ],
                 },
-                "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+                "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
                   "securities": [ # The security types in this context.
                     "A String",
                   ],
                 },
-                "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+                "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
                   "platforms": [ # The platforms this restriction applies to.
                     "A String",
                   ],
                 },
-                "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+                "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
                     # location.
                   "geoCriteriaIds": [ # IDs representing the geo location for this context.
                       # Please refer to the
@@ -1079,7 +1108,7 @@
                     42,
                   ],
                 },
-                "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+                "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
                   "auctionTypes": [ # The auction types this restriction applies to.
                     "A String",
                   ],
@@ -1093,39 +1122,55 @@
                 # Can be used to filter the response of the
                 # creatives.list
                 # method.
-              { # @OutputOnly The reason and details for a disapproval.
+                # Deprecated; please use
+                # disapproval
+                # field instead.
+              { # Output only. The reason and details for a disapproval.
                 "reason": "A String", # The categorized reason for disapproval.
                 "details": [ # Additional details about the reason for disapproval.
                   "A String",
                 ],
               },
             ],
+            "disapproval": { # Output only. The reason and details for a disapproval. # Disapproval bound to this restriction.
+                # Only present if status=DISAPPROVED.
+                # Can be used to filter the response of the
+                # creatives.list
+                # method.
+              "reason": "A String", # The categorized reason for disapproval.
+              "details": [ # Additional details about the reason for disapproval.
+                "A String",
+              ],
+            },
           },
         ],
+        "declaredClickThroughUrls": [ # The set of declared destination URLs for the creative.
+          "A String",
+        ],
         "restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative.
           "A String",
         ],
-        "corrections": [ # @OutputOnly Shows any corrections that were applied to this creative.
-          { # @OutputOnly Shows any corrections that were applied to this creative.
+        "corrections": [ # Output only. Shows any corrections that were applied to this creative.
+          { # Output only. Shows any corrections that were applied to this creative.
             "contexts": [ # The contexts for the correction.
               { # The serving context for this restriction.
                 "all": "A String", # Matches all contexts.
-                "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+                "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
                   "appTypes": [ # The app types this restriction applies to.
                     "A String",
                   ],
                 },
-                "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+                "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
                   "securities": [ # The security types in this context.
                     "A String",
                   ],
                 },
-                "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+                "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
                   "platforms": [ # The platforms this restriction applies to.
                     "A String",
                   ],
                 },
-                "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+                "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
                     # location.
                   "geoCriteriaIds": [ # IDs representing the geo location for this context.
                       # Please refer to the
@@ -1134,7 +1179,7 @@
                     42,
                   ],
                 },
-                "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+                "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
                   "auctionTypes": [ # The auction types this restriction applies to.
                     "A String",
                   ],
@@ -1147,9 +1192,14 @@
             ],
           },
         ],
-        "video": { # Video content for a creative. # A video creative.
-          "videoUrl": "A String", # The URL to fetch a video ad.
-        },
+        "openAuctionStatus": "A String", # Output only. The top-level open auction status of this creative.
+            # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
+            # serving_restrictions will also exist. Note
+            # that this may be nuanced with other contextual restrictions, in which case,
+            # it may be preferable to read from serving_restrictions directly.
+            # Can be used to filter the response of the
+            # creatives.list
+            # method.
       },
     ],
   }</pre>
@@ -1170,7 +1220,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="stopWatching">stopWatching(accountId, creativeId, body, x__xgafv=None)</code>
+    <code class="details" id="stopWatching">stopWatching(accountId, creativeId, body=None, x__xgafv=None)</code>
   <pre>Stops watching a creative. Will stop push notifications being sent to the
 topics when the creative changes status.
 
@@ -1178,7 +1228,7 @@
   accountId: string, The account of the creative to stop notifications for. (required)
   creativeId: string, The creative ID of the creative to stop notifications for.
 Specify "-" to specify stopping account level notifications. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # A request for stopping notifications for changes to creative Status.
@@ -1224,38 +1274,9 @@
   "impressionTrackingUrls": [ # The set of URLs to be called to record an impression.
     "A String",
   ],
-  "version": 42, # @OutputOnly The version of this creative.
-  "filteringStats": { # @OutputOnly Filtering reasons for this creative during a period of a single # @OutputOnly The filtering stats for this creative.
-      # day (from midnight to midnight Pacific).
-    "reasons": [ # The set of filtering reasons for this date.
-      { # A specific filtering status and how many times it occurred.
-        "count": "A String", # The number of times the creative was filtered for the status. The
-            # count is aggregated across all publishers on the exchange.
-        "status": 42, # The filtering status code. Please refer to the
-            # [creative-status-codes.txt](https://storage.googleapis.com/adx-rtb-dictionaries/creative-status-codes.txt)
-            # file for different statuses.
-      },
-    ],
-    "date": { # Represents a whole calendar date, e.g. date of birth. The time of day and # The day during which the data was collected.
-        # The data is collected from 00:00:00 to 23:59:59 PT.
-        # During switches from PST to PDT and back, the day may
-        # contain 23 or 25 hours of data instead of the usual 24.
-        # time zone are either specified elsewhere or are not significant. The date
-        # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
-        # represent a year and month where the day is not significant, e.g. credit card
-        # expiration date. The year may be 0 to represent a month and day independent
-        # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
-        # and `google.protobuf.Timestamp`.
-      "month": 42, # Month of year. Must be from 1 to 12.
-      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
-          # if specifying a year/month where the day is not significant.
-      "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
-          # a year.
-    },
-  },
-  "detectedLanguages": [ # @OutputOnly
-      # The detected languages for this creative. The order is arbitrary. The codes
-      # are 2 or 5 characters and are documented at
+  "version": 42, # Output only. The version of this creative.
+  "detectedLanguages": [ # Output only. The detected languages for this creative. The order is
+      # arbitrary. The codes are 2 or 5 characters and are documented at
       # https://developers.google.com/adwords/api/docs/appendix/languagecodes.
     "A String",
   ],
@@ -1263,15 +1284,12 @@
   "clickThroughUrls": [ # The set of destination URLs for the creative.
     "A String",
   ],
-  "openAuctionStatus": "A String", # @OutputOnly The top-level open auction status of this creative.
-      # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
-      # serving_restrictions will also exist. Note
-      # that this may be nuanced with other contextual restrictions, in which case,
-      # it may be preferable to read from serving_restrictions directly.
-      # Can be used to filter the response of the
-      # creatives.list
-      # method.
-  "detectedSensitiveCategories": [ # @OutputOnly Detected sensitive categories, if any.
+  "video": { # Video content for a creative. # A video creative.
+    "videoUrl": "A String", # The URL to fetch a video ad.
+    "videoVastXml": "A String", # The contents of a VAST document for a video ad.
+        # This document should conform to the VAST 2.0 or 3.0 standard.
+  },
+  "detectedSensitiveCategories": [ # Output only. Detected sensitive categories, if any.
       # See the ad-sensitive-categories.txt file in the technical documentation for
       # a list of IDs. You should use these IDs along with the
       # excluded-sensitive-category field in the bid request to filter your bids.
@@ -1281,26 +1299,10 @@
       # Can be used to filter the response of the
       # creatives.list
       # method.
-  "detectedAdvertiserIds": [ # @OutputOnly Detected advertiser IDs, if any.
+  "detectedAdvertiserIds": [ # Output only. Detected advertiser IDs, if any.
     "A String",
   ],
   "adChoicesDestinationUrl": "A String", # The link to AdChoices destination page.
-  "accountId": "A String", # The account that this creative belongs to.
-      # Can be used to filter the response of the
-      # creatives.list
-      # method.
-  "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
-      # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
-      # for possible values.
-    42,
-  ],
-  "agencyId": "A String", # The agency ID for this creative.
-  "html": { # HTML content for a creative. # An HTML creative.
-    "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
-    "width": 42, # The width of the HTML snippet in pixels.
-    "height": 42, # The height of the HTML snippet in pixels.
-  },
-  "apiUpdateTime": "A String", # @OutputOnly The last update timestamp of the creative via API.
   "native": { # Native content for a creative. # A native creative.
     "body": "A String", # A long description of the ad.
     "videoUrl": "A String", # The URL to fetch a native video ad.
@@ -1331,13 +1333,52 @@
     "storeUrl": "A String", # The URL to the app store to purchase/download the promoted app.
     "clickLinkUrl": "A String", # The URL that the browser/SDK will load when the user clicks the ad.
   },
-  "detectedProductCategories": [ # @OutputOnly Detected product categories, if any.
+  "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
+      # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
+      # for possible values.
+    42,
+  ],
+  "agencyId": "A String", # The agency ID for this creative.
+  "html": { # HTML content for a creative. # An HTML creative.
+    "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
+    "width": 42, # The width of the HTML snippet in pixels.
+    "height": 42, # The height of the HTML snippet in pixels.
+  },
+  "apiUpdateTime": "A String", # Output only. The last update timestamp of the creative via API.
+  "accountId": "A String", # The account that this creative belongs to.
+      # Can be used to filter the response of the
+      # creatives.list
+      # method.
+  "detectedProductCategories": [ # Output only. Detected product categories, if any.
       # See the ad-product-categories.txt file in the technical documentation
       # for a list of IDs.
     42,
   ],
-  "detectedDomains": [ # @OutputOnly
-      # The detected domains for this creative.
+  "adTechnologyProviders": { # Detected ad technology provider information. # Output only. The detected ad technology providers.
+    "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider.
+        #
+        # If true for a given creative, any bid submitted with that creative for an
+        # impression that will serve to an EEA user will be filtered before the
+        # auction.
+    "detectedProviderIds": [ # The detected ad technology provider IDs for this creative.
+        # See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for
+        # mapping of provider ID to provided name, a privacy policy URL, and a list
+        # of domains which can be attributed to the provider.
+        #
+        # If the creative contains provider IDs that are outside of those listed in
+        # the `BidRequest.adslot.consented_providers_settings.consented_providers`
+        # field on the (Google bid
+        # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto]
+        # and the
+        # `BidRequest.user.ext.consented_providers_settings.consented_providers`
+        # field on the (OpenRTB
+        # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto],
+        # and a bid is submitted with that creative for an impression that will
+        # serve to an EEA user, the bid will be filtered before the auction.
+      "A String",
+    ],
+  },
+  "detectedDomains": [ # Output only. The detected domains for this creative.
     "A String",
   ],
   "attributes": [ # All attributes for the ads that may be shown from this creative.
@@ -1346,7 +1387,7 @@
       # method.
     "A String",
   ],
-  "dealsStatus": "A String", # @OutputOnly The top-level deals status of this creative.
+  "dealsStatus": "A String", # Output only. The top-level deals status of this creative.
       # If disapproved, an entry for 'auctionType=DIRECT_DEALS' (or 'ALL') in
       # serving_restrictions will also exist. Note
       # that this may be nuanced with other contextual restrictions, in which case,
@@ -1354,33 +1395,33 @@
       # Can be used to filter the response of the
       # creatives.list
       # method.
-  "servingRestrictions": [ # @OutputOnly The granular status of this ad in specific contexts.
+  "servingRestrictions": [ # Output only. The granular status of this ad in specific contexts.
       # A context here relates to where something ultimately serves (for example,
       # a physical location, a platform, an HTTPS vs HTTP request, or the type
       # of auction).
-    { # @OutputOnly A representation of the status of an ad in a
+    { # Output only. A representation of the status of an ad in a
         # specific context. A context here relates to where something ultimately serves
         # (for example, a user or publisher geo, a platform, an HTTPS vs HTTP request,
         # or the type of auction).
       "contexts": [ # The contexts for the restriction.
         { # The serving context for this restriction.
           "all": "A String", # Matches all contexts.
-          "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+          "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
             "appTypes": [ # The app types this restriction applies to.
               "A String",
             ],
           },
-          "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+          "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
             "securities": [ # The security types in this context.
               "A String",
             ],
           },
-          "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+          "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
             "platforms": [ # The platforms this restriction applies to.
               "A String",
             ],
           },
-          "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+          "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
               # location.
             "geoCriteriaIds": [ # IDs representing the geo location for this context.
                 # Please refer to the
@@ -1389,7 +1430,7 @@
               42,
             ],
           },
-          "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+          "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
             "auctionTypes": [ # The auction types this restriction applies to.
               "A String",
             ],
@@ -1403,39 +1444,55 @@
           # Can be used to filter the response of the
           # creatives.list
           # method.
-        { # @OutputOnly The reason and details for a disapproval.
+          # Deprecated; please use
+          # disapproval
+          # field instead.
+        { # Output only. The reason and details for a disapproval.
           "reason": "A String", # The categorized reason for disapproval.
           "details": [ # Additional details about the reason for disapproval.
             "A String",
           ],
         },
       ],
+      "disapproval": { # Output only. The reason and details for a disapproval. # Disapproval bound to this restriction.
+          # Only present if status=DISAPPROVED.
+          # Can be used to filter the response of the
+          # creatives.list
+          # method.
+        "reason": "A String", # The categorized reason for disapproval.
+        "details": [ # Additional details about the reason for disapproval.
+          "A String",
+        ],
+      },
     },
   ],
+  "declaredClickThroughUrls": [ # The set of declared destination URLs for the creative.
+    "A String",
+  ],
   "restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative.
     "A String",
   ],
-  "corrections": [ # @OutputOnly Shows any corrections that were applied to this creative.
-    { # @OutputOnly Shows any corrections that were applied to this creative.
+  "corrections": [ # Output only. Shows any corrections that were applied to this creative.
+    { # Output only. Shows any corrections that were applied to this creative.
       "contexts": [ # The contexts for the correction.
         { # The serving context for this restriction.
           "all": "A String", # Matches all contexts.
-          "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+          "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
             "appTypes": [ # The app types this restriction applies to.
               "A String",
             ],
           },
-          "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+          "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
             "securities": [ # The security types in this context.
               "A String",
             ],
           },
-          "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+          "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
             "platforms": [ # The platforms this restriction applies to.
               "A String",
             ],
           },
-          "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+          "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
               # location.
             "geoCriteriaIds": [ # IDs representing the geo location for this context.
                 # Please refer to the
@@ -1444,7 +1501,7 @@
               42,
             ],
           },
-          "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+          "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
             "auctionTypes": [ # The auction types this restriction applies to.
               "A String",
             ],
@@ -1457,9 +1514,14 @@
       ],
     },
   ],
-  "video": { # Video content for a creative. # A video creative.
-    "videoUrl": "A String", # The URL to fetch a video ad.
-  },
+  "openAuctionStatus": "A String", # Output only. The top-level open auction status of this creative.
+      # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
+      # serving_restrictions will also exist. Note
+      # that this may be nuanced with other contextual restrictions, in which case,
+      # it may be preferable to read from serving_restrictions directly.
+      # Can be used to filter the response of the
+      # creatives.list
+      # method.
 }
 
   x__xgafv: string, V1 error format.
@@ -1474,38 +1536,9 @@
     "impressionTrackingUrls": [ # The set of URLs to be called to record an impression.
       "A String",
     ],
-    "version": 42, # @OutputOnly The version of this creative.
-    "filteringStats": { # @OutputOnly Filtering reasons for this creative during a period of a single # @OutputOnly The filtering stats for this creative.
-        # day (from midnight to midnight Pacific).
-      "reasons": [ # The set of filtering reasons for this date.
-        { # A specific filtering status and how many times it occurred.
-          "count": "A String", # The number of times the creative was filtered for the status. The
-              # count is aggregated across all publishers on the exchange.
-          "status": 42, # The filtering status code. Please refer to the
-              # [creative-status-codes.txt](https://storage.googleapis.com/adx-rtb-dictionaries/creative-status-codes.txt)
-              # file for different statuses.
-        },
-      ],
-      "date": { # Represents a whole calendar date, e.g. date of birth. The time of day and # The day during which the data was collected.
-          # The data is collected from 00:00:00 to 23:59:59 PT.
-          # During switches from PST to PDT and back, the day may
-          # contain 23 or 25 hours of data instead of the usual 24.
-          # time zone are either specified elsewhere or are not significant. The date
-          # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
-          # represent a year and month where the day is not significant, e.g. credit card
-          # expiration date. The year may be 0 to represent a month and day independent
-          # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
-          # and `google.protobuf.Timestamp`.
-        "month": 42, # Month of year. Must be from 1 to 12.
-        "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
-            # if specifying a year/month where the day is not significant.
-        "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
-            # a year.
-      },
-    },
-    "detectedLanguages": [ # @OutputOnly
-        # The detected languages for this creative. The order is arbitrary. The codes
-        # are 2 or 5 characters and are documented at
+    "version": 42, # Output only. The version of this creative.
+    "detectedLanguages": [ # Output only. The detected languages for this creative. The order is
+        # arbitrary. The codes are 2 or 5 characters and are documented at
         # https://developers.google.com/adwords/api/docs/appendix/languagecodes.
       "A String",
     ],
@@ -1513,15 +1546,12 @@
     "clickThroughUrls": [ # The set of destination URLs for the creative.
       "A String",
     ],
-    "openAuctionStatus": "A String", # @OutputOnly The top-level open auction status of this creative.
-        # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
-        # serving_restrictions will also exist. Note
-        # that this may be nuanced with other contextual restrictions, in which case,
-        # it may be preferable to read from serving_restrictions directly.
-        # Can be used to filter the response of the
-        # creatives.list
-        # method.
-    "detectedSensitiveCategories": [ # @OutputOnly Detected sensitive categories, if any.
+    "video": { # Video content for a creative. # A video creative.
+      "videoUrl": "A String", # The URL to fetch a video ad.
+      "videoVastXml": "A String", # The contents of a VAST document for a video ad.
+          # This document should conform to the VAST 2.0 or 3.0 standard.
+    },
+    "detectedSensitiveCategories": [ # Output only. Detected sensitive categories, if any.
         # See the ad-sensitive-categories.txt file in the technical documentation for
         # a list of IDs. You should use these IDs along with the
         # excluded-sensitive-category field in the bid request to filter your bids.
@@ -1531,26 +1561,10 @@
         # Can be used to filter the response of the
         # creatives.list
         # method.
-    "detectedAdvertiserIds": [ # @OutputOnly Detected advertiser IDs, if any.
+    "detectedAdvertiserIds": [ # Output only. Detected advertiser IDs, if any.
       "A String",
     ],
     "adChoicesDestinationUrl": "A String", # The link to AdChoices destination page.
-    "accountId": "A String", # The account that this creative belongs to.
-        # Can be used to filter the response of the
-        # creatives.list
-        # method.
-    "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
-        # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
-        # for possible values.
-      42,
-    ],
-    "agencyId": "A String", # The agency ID for this creative.
-    "html": { # HTML content for a creative. # An HTML creative.
-      "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
-      "width": 42, # The width of the HTML snippet in pixels.
-      "height": 42, # The height of the HTML snippet in pixels.
-    },
-    "apiUpdateTime": "A String", # @OutputOnly The last update timestamp of the creative via API.
     "native": { # Native content for a creative. # A native creative.
       "body": "A String", # A long description of the ad.
       "videoUrl": "A String", # The URL to fetch a native video ad.
@@ -1581,13 +1595,52 @@
       "storeUrl": "A String", # The URL to the app store to purchase/download the promoted app.
       "clickLinkUrl": "A String", # The URL that the browser/SDK will load when the user clicks the ad.
     },
-    "detectedProductCategories": [ # @OutputOnly Detected product categories, if any.
+    "vendorIds": [ # All vendor IDs for the ads that may be shown from this creative.
+        # See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt
+        # for possible values.
+      42,
+    ],
+    "agencyId": "A String", # The agency ID for this creative.
+    "html": { # HTML content for a creative. # An HTML creative.
+      "snippet": "A String", # The HTML snippet that displays the ad when inserted in the web page.
+      "width": 42, # The width of the HTML snippet in pixels.
+      "height": 42, # The height of the HTML snippet in pixels.
+    },
+    "apiUpdateTime": "A String", # Output only. The last update timestamp of the creative via API.
+    "accountId": "A String", # The account that this creative belongs to.
+        # Can be used to filter the response of the
+        # creatives.list
+        # method.
+    "detectedProductCategories": [ # Output only. Detected product categories, if any.
         # See the ad-product-categories.txt file in the technical documentation
         # for a list of IDs.
       42,
     ],
-    "detectedDomains": [ # @OutputOnly
-        # The detected domains for this creative.
+    "adTechnologyProviders": { # Detected ad technology provider information. # Output only. The detected ad technology providers.
+      "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider.
+          #
+          # If true for a given creative, any bid submitted with that creative for an
+          # impression that will serve to an EEA user will be filtered before the
+          # auction.
+      "detectedProviderIds": [ # The detected ad technology provider IDs for this creative.
+          # See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for
+          # mapping of provider ID to provided name, a privacy policy URL, and a list
+          # of domains which can be attributed to the provider.
+          #
+          # If the creative contains provider IDs that are outside of those listed in
+          # the `BidRequest.adslot.consented_providers_settings.consented_providers`
+          # field on the (Google bid
+          # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto]
+          # and the
+          # `BidRequest.user.ext.consented_providers_settings.consented_providers`
+          # field on the (OpenRTB
+          # protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto],
+          # and a bid is submitted with that creative for an impression that will
+          # serve to an EEA user, the bid will be filtered before the auction.
+        "A String",
+      ],
+    },
+    "detectedDomains": [ # Output only. The detected domains for this creative.
       "A String",
     ],
     "attributes": [ # All attributes for the ads that may be shown from this creative.
@@ -1596,7 +1649,7 @@
         # method.
       "A String",
     ],
-    "dealsStatus": "A String", # @OutputOnly The top-level deals status of this creative.
+    "dealsStatus": "A String", # Output only. The top-level deals status of this creative.
         # If disapproved, an entry for 'auctionType=DIRECT_DEALS' (or 'ALL') in
         # serving_restrictions will also exist. Note
         # that this may be nuanced with other contextual restrictions, in which case,
@@ -1604,33 +1657,33 @@
         # Can be used to filter the response of the
         # creatives.list
         # method.
-    "servingRestrictions": [ # @OutputOnly The granular status of this ad in specific contexts.
+    "servingRestrictions": [ # Output only. The granular status of this ad in specific contexts.
         # A context here relates to where something ultimately serves (for example,
         # a physical location, a platform, an HTTPS vs HTTP request, or the type
         # of auction).
-      { # @OutputOnly A representation of the status of an ad in a
+      { # Output only. A representation of the status of an ad in a
           # specific context. A context here relates to where something ultimately serves
           # (for example, a user or publisher geo, a platform, an HTTPS vs HTTP request,
           # or the type of auction).
         "contexts": [ # The contexts for the restriction.
           { # The serving context for this restriction.
             "all": "A String", # Matches all contexts.
-            "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+            "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
               "appTypes": [ # The app types this restriction applies to.
                 "A String",
               ],
             },
-            "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+            "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
               "securities": [ # The security types in this context.
                 "A String",
               ],
             },
-            "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+            "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
               "platforms": [ # The platforms this restriction applies to.
                 "A String",
               ],
             },
-            "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+            "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
                 # location.
               "geoCriteriaIds": [ # IDs representing the geo location for this context.
                   # Please refer to the
@@ -1639,7 +1692,7 @@
                 42,
               ],
             },
-            "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+            "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
               "auctionTypes": [ # The auction types this restriction applies to.
                 "A String",
               ],
@@ -1653,39 +1706,55 @@
             # Can be used to filter the response of the
             # creatives.list
             # method.
-          { # @OutputOnly The reason and details for a disapproval.
+            # Deprecated; please use
+            # disapproval
+            # field instead.
+          { # Output only. The reason and details for a disapproval.
             "reason": "A String", # The categorized reason for disapproval.
             "details": [ # Additional details about the reason for disapproval.
               "A String",
             ],
           },
         ],
+        "disapproval": { # Output only. The reason and details for a disapproval. # Disapproval bound to this restriction.
+            # Only present if status=DISAPPROVED.
+            # Can be used to filter the response of the
+            # creatives.list
+            # method.
+          "reason": "A String", # The categorized reason for disapproval.
+          "details": [ # Additional details about the reason for disapproval.
+            "A String",
+          ],
+        },
       },
     ],
+    "declaredClickThroughUrls": [ # The set of declared destination URLs for the creative.
+      "A String",
+    ],
     "restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative.
       "A String",
     ],
-    "corrections": [ # @OutputOnly Shows any corrections that were applied to this creative.
-      { # @OutputOnly Shows any corrections that were applied to this creative.
+    "corrections": [ # Output only. Shows any corrections that were applied to this creative.
+      { # Output only. Shows any corrections that were applied to this creative.
         "contexts": [ # The contexts for the correction.
           { # The serving context for this restriction.
             "all": "A String", # Matches all contexts.
-            "appType": { # @OutputOnly The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
+            "appType": { # Output only. The app type the restriction applies to for mobile device. # Matches impressions for a particular app type.
               "appTypes": [ # The app types this restriction applies to.
                 "A String",
               ],
             },
-            "securityType": { # @OutputOnly A security context. # Matches impressions for a particular security type.
+            "securityType": { # Output only. A security context. # Matches impressions for a particular security type.
               "securities": [ # The security types in this context.
                 "A String",
               ],
             },
-            "platform": { # @OutputOnly The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
+            "platform": { # Output only. The type of platform the restriction applies to. # Matches impressions coming from a particular platform.
               "platforms": [ # The platforms this restriction applies to.
                 "A String",
               ],
             },
-            "location": { # @OutputOnly The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
+            "location": { # Output only. The Geo criteria the restriction applies to. # Matches impressions coming from users *or* publishers in a specific
                 # location.
               "geoCriteriaIds": [ # IDs representing the geo location for this context.
                   # Please refer to the
@@ -1694,7 +1763,7 @@
                 42,
               ],
             },
-            "auctionType": { # @OutputOnly The auction type the restriction applies to. # Matches impressions for a particular auction type.
+            "auctionType": { # Output only. The auction type the restriction applies to. # Matches impressions for a particular auction type.
               "auctionTypes": [ # The auction types this restriction applies to.
                 "A String",
               ],
@@ -1707,9 +1776,14 @@
         ],
       },
     ],
-    "video": { # Video content for a creative. # A video creative.
-      "videoUrl": "A String", # The URL to fetch a video ad.
-    },
+    "openAuctionStatus": "A String", # Output only. The top-level open auction status of this creative.
+        # If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in
+        # serving_restrictions will also exist. Note
+        # that this may be nuanced with other contextual restrictions, in which case,
+        # it may be preferable to read from serving_restrictions directly.
+        # Can be used to filter the response of the
+        # creatives.list
+        # method.
   }</pre>
 </div>
 
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html
new file mode 100644
index 0000000..420b4ba
--- /dev/null
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.finalizedProposals.html
@@ -0,0 +1,738 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="adexchangebuyer2_v2beta1.html">Ad Exchange Buyer API II</a> . <a href="adexchangebuyer2_v2beta1.accounts.html">accounts</a> . <a href="adexchangebuyer2_v2beta1.accounts.finalizedProposals.html">finalizedProposals</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None, filterSyntax=None, filter=None)</a></code></p>
+<p class="firstline">List finalized proposals, regardless if a proposal is being renegotiated.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None, filterSyntax=None, filter=None)</code>
+  <pre>List finalized proposals, regardless if a proposal is being renegotiated.
+A filter expression (PQL query) may be specified to filter the results.
+The notes will not be returned.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  pageSize: integer, Requested page size. The server may return fewer results than requested.
+If unspecified, the server will pick an appropriate default.
+  pageToken: string, The page token as returned from ListProposalsResponse.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  filterSyntax: string, Syntax the filter is written in. Current implementation defaults to PQL
+but in the future it will be LIST_FILTER.
+  filter: string, An optional PQL filter query used to query for proposals.
+
+Nested repeated fields, such as proposal.deals.targetingCriterion,
+cannot be filtered.
+
+Returns:
+  An object of the form:
+
+    { # Response message for listing proposals.
+    "nextPageToken": "A String", # Continuation token for fetching the next page of results.
+    "proposals": [ # The list of proposals.
+      { # Note: this resource requires whitelisting for access. Please contact your
+          # account manager for access to Marketplace resources.
+          #
+          # Represents a proposal in the Marketplace. A proposal is the unit of
+          # negotiation between a seller and a buyer and contains deals which
+          # are served.
+          #
+          # Note: you can not update, create, or otherwise modify Private
+          # Auction or Preferred Deals deals through the API.
+          #
+          # Fields are updatable unless noted otherwise.
+        "sellerContacts": [ # Output only. Contact information for the seller.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "updateTime": "A String", # Output only. The time when the proposal was last revised.
+        "proposalState": "A String", # Output only. The current state of the proposal.
+        "proposalRevision": "A String", # Output only. The revision number for the proposal.
+            # Each update to the proposal or the deal causes the proposal revision number
+            # to auto-increment. The buyer keeps track of the last revision number they
+            # know of and pass it in when making an update. If the head revision number
+            # on the server has since incremented, then an ABORTED error is returned
+            # during the update operation to let the buyer know that a subsequent update
+            # was made.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+            # proposal.
+        "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+            # Authorized Buyers account ID.
+          "accountId": "A String", # Authorized Buyers account ID of the buyer.
+        },
+        "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+        "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+            # Ad Manager account ID.
+          "subAccountId": "A String", # Optional sub-account ID for the seller.
+          "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+              # The seller account ID is then available to buyer in the product.
+        },
+        "deals": [ # The deals associated with this proposal. For Private Auction proposals
+            # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+          { # A deal represents a segment of inventory for displaying ads on.
+              # A proposal can contain multiple deals. A deal contains the terms and
+              # targeting information that is used for serving.
+            "updateTime": "A String", # Output only. The time when the deal was last updated.
+            "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+                # If present on create, and the server `product_revision` has advanced sinced
+                # the passed-in `create_product_revision`, an `ABORTED` error will be
+                # returned.
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            "sellerContacts": [ # Output only. Seller contact information for the deal.
+              { # Contains information on how a buyer or seller can be reached.
+                "email": "A String", # Email address for the contact.
+                "name": "A String", # The name of the contact.
+              },
+            ],
+            "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+                # This will generally be stored in the granularity of one second since deal
+                # serving starts at seconds boundary. Any time specified with more
+                # granularity (e.g., in milliseconds) will be truncated towards the start of
+                # time in seconds.
+            "availableEndTime": "A String", # Proposed flight end time of the deal.
+                # This will generally be stored in a granularity of a second.
+                # A value is not required for Private Auction deals or Preferred Deals.
+            "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+                # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+                # in Ad Manager.
+                # Preferred Deal in Ad Manager.
+                # This doesn't apply to Private Auction and AdX Preferred Deals.
+              "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+              "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+              "creativeSpecifications": [
+                { # Represents information for a creative that is associated with a Programmatic
+                    # Guaranteed/Preferred Deal in Ad Manager.
+                  "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                    "width": "A String", # The width of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                    "sizeType": "A String", # The size type of the ad slot.
+                    "height": "A String", # The height of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                  },
+                  "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                    { # Represents size of a single ad slot, or a creative.
+                      "width": "A String", # The width of the ad slot in pixels.
+                          # This field will be present only when size type is `PIXEL`.
+                      "sizeType": "A String", # The size type of the ad slot.
+                      "height": "A String", # The height of the ad slot in pixels.
+                          # This field will be present only when size type is `PIXEL`.
+                    },
+                  ],
+                },
+              ],
+            },
+            "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+                # target ad inventory. For example, they can choose to target ad requests only
+                # if the user is in the US.
+                # Multiple types of targeting are always applied as a logical AND, unless noted
+                # otherwise.
+              "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+                "excludedPositionTypes": [ # A list of video positions to be excluded.
+                    # Position types can either be included or excluded (XOR).
+                  "A String",
+                ],
+                "targetedPositionTypes": [ # A list of video positions to be included.
+                    # When the included list is present, the excluded list must be empty.
+                    # When the excluded list is present, the included list must be empty.
+                  "A String",
+                ],
+              },
+              "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+                "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                    # included and excluded numeric IDs.
+                  "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                    "A String",
+                  ],
+                  "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                    "A String",
+                  ],
+                },
+                "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+                  "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                      # included and excluded numeric IDs.
+                    "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                      "A String",
+                    ],
+                    "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                      "A String",
+                    ],
+                  },
+                  "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                      # included and excluded numeric IDs.
+                    "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                      "A String",
+                    ],
+                    "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                      "A String",
+                    ],
+                  },
+                },
+                "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                    # included and excluded numeric IDs.
+                  "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                    "A String",
+                  ],
+                  "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                    "A String",
+                  ],
+                },
+              },
+              "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+                  # mobile applications.
+                  # Different placement targeting types will be logically OR'ed.
+                "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                    # For Private Auction and AdX Preferred Deals, URLs are either included or
+                    # excluded.
+                    # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                    # apply.
+                  "excludedUrls": [ # A list of URLs to be excluded.
+                    "A String",
+                  ],
+                  "targetedUrls": [ # A list of URLs to be included.
+                    "A String",
+                  ],
+                },
+                "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                    # This doesn't apply to Auction Packages.
+                  "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                      # display the ads in.
+                      # publishers own.
+                      # Mobile application IDs are from App Store and Google Play Store.
+                      # Android App ID, for example, com.google.android.apps.maps, can be found in
+                      # Google Play Store URL.
+                      # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                      # First party mobile applications is either included or excluded.
+                    "excludedAppIds": [ # A list of application IDs to be excluded.
+                      "A String",
+                    ],
+                    "targetedAppIds": [ # A list of application IDs to be included.
+                      "A String",
+                    ],
+                  },
+                },
+              },
+              "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+                  # request. It only applies to Private Auction, AdX Preferred Deals and
+                  # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+                  # and Preferred Deals in Ad Manager.
+                "targetedInventorySizes": [ # A list of inventory sizes to be included.
+                  { # Represents size of a single ad slot, or a creative.
+                    "width": "A String", # The width of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                    "sizeType": "A String", # The size type of the ad slot.
+                    "height": "A String", # The height of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                  },
+                ],
+                "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+                  { # Represents size of a single ad slot, or a creative.
+                    "width": "A String", # The width of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                    "sizeType": "A String", # The size type of the ad slot.
+                    "height": "A String", # The height of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                  },
+                ],
+              },
+            },
+            "createProductId": "A String", # The product ID from which this deal was created.
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+            "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+            "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+                # to see but are non-negotiable. These are set by the publisher.
+              "frequencyCaps": [ # Output only. Specifies any frequency caps.
+                { # Frequency cap.
+                  "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                      # amount of time over which impressions per user are counted and capped.
+                  "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                      # which impressions per user are counted and capped.
+                  "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                      # specified time period.
+                },
+              ],
+              "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+              "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+            },
+            "description": "A String", # Description for the deal terms.
+            "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+            "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+            "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+            "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+                # finalized. This is the deal ID that shows up in serving/reporting etc.
+            "createTime": "A String", # Output only. The time of the deal creation.
+            "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+                # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+                # and expected impressions from the publisher.
+              "description": "A String", # Publisher provided description for the terms.
+              "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                    # of guaranteed looks that the buyer is guaranteeing to buy.
+                "fixedPrices": [ # Fixed price for the specified buyer.
+                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                      # a particular buyer or buyer/advertiser pair, we look for the most specific
+                      # matching rule - we first look for a rule matching the buyer and advertiser,
+                      # next a rule with the buyer but an empty advertiser list, and otherwise look
+                      # for a matching rule where no buyer is set.
+                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                        # (if the
+                        # advertisers match, and there's no more specific rule matching the buyer).
+                        # Authorized Buyers account ID.
+                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                    },
+                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                        # If empty, all advertisers with this buyer pay this price.
+                      "A String",
+                    ],
+                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                        "nanos": 42, # Number of nano (10^-9) units of the amount.
+                            # The value must be between -999,999,999 and +999,999,999 inclusive.
+                            # If `units` is positive, `nanos` must be positive or zero.
+                            # If `units` is zero, `nanos` can be positive, zero, or negative.
+                            # If `units` is negative, `nanos` must be negative or zero.
+                            # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                        "units": "A String", # The whole units of the amount.
+                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                      },
+                    },
+                  },
+                ],
+                "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+              },
+              "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+                  # time zone used to mark the boundaries of a day. It should be an
+                  # IANA TZ name, such as "America/Los_Angeles". For more information,
+                  # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+                  # Can be set by buyer or seller.
+              "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+                  # the API at this time, but can be returned in a get or list request.
+                "fixedPrices": [ # Fixed price for the specified buyer.
+                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                      # a particular buyer or buyer/advertiser pair, we look for the most specific
+                      # matching rule - we first look for a rule matching the buyer and advertiser,
+                      # next a rule with the buyer but an empty advertiser list, and otherwise look
+                      # for a matching rule where no buyer is set.
+                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                        # (if the
+                        # advertisers match, and there's no more specific rule matching the buyer).
+                        # Authorized Buyers account ID.
+                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                    },
+                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                        # If empty, all advertisers with this buyer pay this price.
+                      "A String",
+                    ],
+                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                        "nanos": 42, # Number of nano (10^-9) units of the amount.
+                            # The value must be between -999,999,999 and +999,999,999 inclusive.
+                            # If `units` is positive, `nanos` must be positive or zero.
+                            # If `units` is zero, `nanos` can be positive, zero, or negative.
+                            # If `units` is negative, `nanos` must be negative or zero.
+                            # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                        "units": "A String", # The whole units of the amount.
+                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                      },
+                    },
+                  },
+                ],
+              },
+              "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+                  # Can be set by buyer or seller.
+                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  "nanos": 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                },
+              },
+              "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+                  # by the seller, but they can be returned in a get or list request.
+                "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                      # a particular buyer or buyer/advertiser pair, we look for the most specific
+                      # matching rule - we first look for a rule matching the buyer and advertiser,
+                      # next a rule with the buyer but an empty advertiser list, and otherwise look
+                      # for a matching rule where no buyer is set.
+                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                        # (if the
+                        # advertisers match, and there's no more specific rule matching the buyer).
+                        # Authorized Buyers account ID.
+                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                    },
+                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                        # If empty, all advertisers with this buyer pay this price.
+                      "A String",
+                    ],
+                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                        "nanos": 42, # Number of nano (10^-9) units of the amount.
+                            # The value must be between -999,999,999 and +999,999,999 inclusive.
+                            # If `units` is positive, `nanos` must be positive or zero.
+                            # If `units` is zero, `nanos` can be positive, zero, or negative.
+                            # If `units` is negative, `nanos` must be negative or zero.
+                            # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                        "units": "A String", # The whole units of the amount.
+                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                      },
+                    },
+                  },
+                ],
+                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                    # in this private auction.
+              },
+              "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+            },
+            "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+                # PUBLISHER means creative is provided by seller and ADVERTISER means
+                # creative is provided by buyer.
+            "displayName": "A String", # The name of the deal.
+            "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+              "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+                  # operations (max-length: 1024 unicode code units).
+            },
+            "syndicationProduct": "A String", # The syndication product associated with the deal.
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+                # targeting entity is AND'd together.
+              { # Advertisers can target different attributes of an ad slot. For example,
+                  # they can choose to show ads only if the user is in the U.S. Such
+                  # targeting criteria can be specified as part of Shared Targeting.
+                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                    # together.
+                  { # A polymorphic targeting value used as part of Shared Targeting.
+                    "stringValue": "A String", # The string value to include/exclude.
+                    "longValue": "A String", # The long value to include/exclude.
+                    "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                        # Filled in when key = GOOG_CREATIVE_SIZE
+                      "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                          # Companion sizes may be filled in only when creative_size_type = VIDEO
+                        { # Message depicting the size of the creative. The units of width and
+                            # height depend on the type of the targeting.
+                          "width": 42, # The width of the creative
+                          "height": 42, # The height of the creative.
+                        },
+                      ],
+                      "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                          # only if creative_size_type = CreativeSizeType.NATIVE.
+                      "allowedFormats": [ # What formats are allowed by the publisher.
+                          # If this repeated field is empty then all formats are allowed.
+                          # For example, if this field contains AllowedFormatType.AUDIO then the
+                          # publisher only allows an audio ad (without any video).
+                        "A String",
+                      ],
+                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                          # creative_size_type = CreativeSizeType.VIDEO.
+                      "creativeSizeType": "A String", # The creative size type.
+                      "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                          # of the creative
+                          # height depend on the type of the targeting.
+                        "width": 42, # The width of the creative
+                        "height": 42, # The height of the creative.
+                      },
+                    },
+                    "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                        # Filled in when the key is GOOG_DAYPART_TARGETING.
+                        # The definition of this targeting is derived from the structure
+                        # used by Ad Manager.
+                      "dayParts": [ # A list of day part targeting criterion.
+                        { # Daypart targeting message that specifies if the ad can be shown
+                            # only during certain parts of a day/week.
+                          "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                          "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                              # granularity). The end time is exclusive. This field is not available
+                              # for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                                # allow the value 60 if it allows leap-seconds.
+                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                                # to allow the value "24:00:00" for scenarios like business closing time.
+                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                          },
+                          "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                              # The start time is inclusive.
+                              # This field is not available for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                                # allow the value 60 if it allows leap-seconds.
+                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                                # to allow the value "24:00:00" for scenarios like business closing time.
+                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                          },
+                        },
+                      ],
+                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                    },
+                  },
+                ],
+                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                    # together.
+                  { # A polymorphic targeting value used as part of Shared Targeting.
+                    "stringValue": "A String", # The string value to include/exclude.
+                    "longValue": "A String", # The long value to include/exclude.
+                    "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                        # Filled in when key = GOOG_CREATIVE_SIZE
+                      "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                          # Companion sizes may be filled in only when creative_size_type = VIDEO
+                        { # Message depicting the size of the creative. The units of width and
+                            # height depend on the type of the targeting.
+                          "width": 42, # The width of the creative
+                          "height": 42, # The height of the creative.
+                        },
+                      ],
+                      "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                          # only if creative_size_type = CreativeSizeType.NATIVE.
+                      "allowedFormats": [ # What formats are allowed by the publisher.
+                          # If this repeated field is empty then all formats are allowed.
+                          # For example, if this field contains AllowedFormatType.AUDIO then the
+                          # publisher only allows an audio ad (without any video).
+                        "A String",
+                      ],
+                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                          # creative_size_type = CreativeSizeType.VIDEO.
+                      "creativeSizeType": "A String", # The creative size type.
+                      "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                          # of the creative
+                          # height depend on the type of the targeting.
+                        "width": 42, # The width of the creative
+                        "height": 42, # The height of the creative.
+                      },
+                    },
+                    "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                        # Filled in when the key is GOOG_DAYPART_TARGETING.
+                        # The definition of this targeting is derived from the structure
+                        # used by Ad Manager.
+                      "dayParts": [ # A list of day part targeting criterion.
+                        { # Daypart targeting message that specifies if the ad can be shown
+                            # only during certain parts of a day/week.
+                          "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                          "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                              # granularity). The end time is exclusive. This field is not available
+                              # for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                                # allow the value 60 if it allows leap-seconds.
+                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                                # to allow the value "24:00:00" for scenarios like business closing time.
+                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                          },
+                          "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                              # The start time is inclusive.
+                              # This field is not available for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                                # allow the value 60 if it allows leap-seconds.
+                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                                # to allow the value "24:00:00" for scenarios like business closing time.
+                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                          },
+                        },
+                      ],
+                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                    },
+                  },
+                ],
+                "key": "A String", # The key representing the shared targeting criterion.
+                    # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                    # Third parties may define their own keys.
+                    # A list of permissible keys along with the acceptable values will be
+                    # provided as part of the external documentation.
+              },
+            ],
+            "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+              "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+                  # The deal is considered paused if either hasBuyerPaused or
+                  # hasSellPaused is true.
+                "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+                "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+                "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+                "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+                "firstPausedBy": "A String", # The role of the person who first paused this deal.
+              },
+            },
+            "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+                # deal.
+          },
+        ],
+        "proposalId": "A String", # Output only. The unique ID of the proposal.
+        "displayName": "A String", # The name for the proposal.
+        "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+        "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+            # Authorized Buyers account ID.
+          "accountId": "A String", # Authorized Buyers account ID of the buyer.
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # proposal.
+        "notes": [ # Output only. The notes associated with this proposal.
+          { # A proposal may be associated to several notes.
+            "note": "A String", # The actual note to attach.
+                # (max-length: 1024 unicode code units)
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+            "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+            "createTime": "A String", # Output only. The timestamp for when this note was created.
+            "noteId": "A String", # Output only. The unique ID for the note.
+          },
+        ],
+        "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+            # left a comment.
+        "buyerContacts": [ # Contact information for the buyer.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.html
index 0d6d13a..c5a8f12 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.html
@@ -84,4 +84,24 @@
 </p>
 <p class="firstline">Returns the creatives Resource.</p>
 
+<p class="toc_element">
+  <code><a href="adexchangebuyer2_v2beta1.accounts.finalizedProposals.html">finalizedProposals()</a></code>
+</p>
+<p class="firstline">Returns the finalizedProposals Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangebuyer2_v2beta1.accounts.products.html">products()</a></code>
+</p>
+<p class="firstline">Returns the products Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangebuyer2_v2beta1.accounts.proposals.html">proposals()</a></code>
+</p>
+<p class="firstline">Returns the proposals Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangebuyer2_v2beta1.accounts.publisherProfiles.html">publisherProfiles()</a></code>
+</p>
+<p class="firstline">Returns the publisherProfiles Resource.</p>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.products.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.products.html
new file mode 100644
index 0000000..df78df3
--- /dev/null
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.products.html
@@ -0,0 +1,815 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="adexchangebuyer2_v2beta1.html">Ad Exchange Buyer API II</a> . <a href="adexchangebuyer2_v2beta1.accounts.html">accounts</a> . <a href="adexchangebuyer2_v2beta1.accounts.products.html">products</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, productId, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the requested product by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</a></code></p>
+<p class="firstline">List all products visible to the buyer (optionally filtered by the</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, productId, x__xgafv=None)</code>
+  <pre>Gets the requested product by ID.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  productId: string, The ID for the product to get the head revision for. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # A product is a segment of inventory that a seller wishes to sell. It is
+      # associated with certain terms and targeting information which helps the buyer
+      # know more about the inventory.
+    "creatorContacts": [ # Optional contact information for the creator of this product.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Time of last update.
+    "terms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+        # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+        # and expected impressions from the publisher.
+      "description": "A String", # Publisher provided description for the terms.
+      "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+        "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+            # of guaranteed looks that the buyer is guaranteeing to buy.
+        "fixedPrices": [ # Fixed price for the specified buyer.
+          { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+              # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+              # a particular buyer or buyer/advertiser pair, we look for the most specific
+              # matching rule - we first look for a rule matching the buyer and advertiser,
+              # next a rule with the buyer but an empty advertiser list, and otherwise look
+              # for a matching rule where no buyer is set.
+            "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                # (if the
+                # advertisers match, and there's no more specific rule matching the buyer).
+                # Authorized Buyers account ID.
+              "accountId": "A String", # Authorized Buyers account ID of the buyer.
+            },
+            "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                # If empty, all advertisers with this buyer pay this price.
+              "A String",
+            ],
+            "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+              "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+              "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                "nanos": 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+              },
+            },
+          },
+        ],
+        "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+        "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+      },
+      "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+          # time zone used to mark the boundaries of a day. It should be an
+          # IANA TZ name, such as "America/Los_Angeles". For more information,
+          # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+      "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+          # Can be set by buyer or seller.
+      "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+          # the API at this time, but can be returned in a get or list request.
+        "fixedPrices": [ # Fixed price for the specified buyer.
+          { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+              # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+              # a particular buyer or buyer/advertiser pair, we look for the most specific
+              # matching rule - we first look for a rule matching the buyer and advertiser,
+              # next a rule with the buyer but an empty advertiser list, and otherwise look
+              # for a matching rule where no buyer is set.
+            "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                # (if the
+                # advertisers match, and there's no more specific rule matching the buyer).
+                # Authorized Buyers account ID.
+              "accountId": "A String", # Authorized Buyers account ID of the buyer.
+            },
+            "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                # If empty, all advertisers with this buyer pay this price.
+              "A String",
+            ],
+            "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+              "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+              "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                "nanos": 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+              },
+            },
+          },
+        ],
+      },
+      "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+          # Can be set by buyer or seller.
+        "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+        "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+          "nanos": 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+        },
+      },
+      "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+          # by the seller, but they can be returned in a get or list request.
+        "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+          { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+              # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+              # a particular buyer or buyer/advertiser pair, we look for the most specific
+              # matching rule - we first look for a rule matching the buyer and advertiser,
+              # next a rule with the buyer but an empty advertiser list, and otherwise look
+              # for a matching rule where no buyer is set.
+            "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                # (if the
+                # advertisers match, and there's no more specific rule matching the buyer).
+                # Authorized Buyers account ID.
+              "accountId": "A String", # Authorized Buyers account ID of the buyer.
+            },
+            "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                # If empty, all advertisers with this buyer pay this price.
+              "A String",
+            ],
+            "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+              "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+              "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                "nanos": 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+              },
+            },
+          },
+        ],
+        "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+            # in this private auction.
+      },
+      "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+    },
+    "syndicationProduct": "A String", # The syndication product associated with the deal.
+    "targetingCriterion": [ # Targeting that is shared between the buyer and the seller. Each targeting
+        # criterion has a specified key and for each key there is a list of inclusion
+        # value or exclusion values.
+      { # Advertisers can target different attributes of an ad slot. For example,
+          # they can choose to show ads only if the user is in the U.S. Such
+          # targeting criteria can be specified as part of Shared Targeting.
+        "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+            # together.
+          { # A polymorphic targeting value used as part of Shared Targeting.
+            "stringValue": "A String", # The string value to include/exclude.
+            "longValue": "A String", # The long value to include/exclude.
+            "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                # Filled in when key = GOOG_CREATIVE_SIZE
+              "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                  # Companion sizes may be filled in only when creative_size_type = VIDEO
+                { # Message depicting the size of the creative. The units of width and
+                    # height depend on the type of the targeting.
+                  "width": 42, # The width of the creative
+                  "height": 42, # The height of the creative.
+                },
+              ],
+              "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                  # only if creative_size_type = CreativeSizeType.NATIVE.
+              "allowedFormats": [ # What formats are allowed by the publisher.
+                  # If this repeated field is empty then all formats are allowed.
+                  # For example, if this field contains AllowedFormatType.AUDIO then the
+                  # publisher only allows an audio ad (without any video).
+                "A String",
+              ],
+              "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                  # creative_size_type = CreativeSizeType.VIDEO.
+              "creativeSizeType": "A String", # The creative size type.
+              "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                  # of the creative
+                  # height depend on the type of the targeting.
+                "width": 42, # The width of the creative
+                "height": 42, # The height of the creative.
+              },
+            },
+            "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                # Filled in when the key is GOOG_DAYPART_TARGETING.
+                # The definition of this targeting is derived from the structure
+                # used by Ad Manager.
+              "dayParts": [ # A list of day part targeting criterion.
+                { # Daypart targeting message that specifies if the ad can be shown
+                    # only during certain parts of a day/week.
+                  "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                  "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                      # granularity). The end time is exclusive. This field is not available
+                      # for filtering in PQL queries.
+                      # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                      # types are google.type.Date and `google.protobuf.Timestamp`.
+                    "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                        # allow the value 60 if it allows leap-seconds.
+                    "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                        # to allow the value "24:00:00" for scenarios like business closing time.
+                    "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                    "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                  },
+                  "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                      # The start time is inclusive.
+                      # This field is not available for filtering in PQL queries.
+                      # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                      # types are google.type.Date and `google.protobuf.Timestamp`.
+                    "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                        # allow the value 60 if it allows leap-seconds.
+                    "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                        # to allow the value "24:00:00" for scenarios like business closing time.
+                    "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                    "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                  },
+                },
+              ],
+              "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+            },
+          },
+        ],
+        "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+            # together.
+          { # A polymorphic targeting value used as part of Shared Targeting.
+            "stringValue": "A String", # The string value to include/exclude.
+            "longValue": "A String", # The long value to include/exclude.
+            "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                # Filled in when key = GOOG_CREATIVE_SIZE
+              "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                  # Companion sizes may be filled in only when creative_size_type = VIDEO
+                { # Message depicting the size of the creative. The units of width and
+                    # height depend on the type of the targeting.
+                  "width": 42, # The width of the creative
+                  "height": 42, # The height of the creative.
+                },
+              ],
+              "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                  # only if creative_size_type = CreativeSizeType.NATIVE.
+              "allowedFormats": [ # What formats are allowed by the publisher.
+                  # If this repeated field is empty then all formats are allowed.
+                  # For example, if this field contains AllowedFormatType.AUDIO then the
+                  # publisher only allows an audio ad (without any video).
+                "A String",
+              ],
+              "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                  # creative_size_type = CreativeSizeType.VIDEO.
+              "creativeSizeType": "A String", # The creative size type.
+              "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                  # of the creative
+                  # height depend on the type of the targeting.
+                "width": 42, # The width of the creative
+                "height": 42, # The height of the creative.
+              },
+            },
+            "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                # Filled in when the key is GOOG_DAYPART_TARGETING.
+                # The definition of this targeting is derived from the structure
+                # used by Ad Manager.
+              "dayParts": [ # A list of day part targeting criterion.
+                { # Daypart targeting message that specifies if the ad can be shown
+                    # only during certain parts of a day/week.
+                  "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                  "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                      # granularity). The end time is exclusive. This field is not available
+                      # for filtering in PQL queries.
+                      # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                      # types are google.type.Date and `google.protobuf.Timestamp`.
+                    "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                        # allow the value 60 if it allows leap-seconds.
+                    "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                        # to allow the value "24:00:00" for scenarios like business closing time.
+                    "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                    "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                  },
+                  "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                      # The start time is inclusive.
+                      # This field is not available for filtering in PQL queries.
+                      # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                      # types are google.type.Date and `google.protobuf.Timestamp`.
+                    "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                        # allow the value 60 if it allows leap-seconds.
+                    "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                        # to allow the value "24:00:00" for scenarios like business closing time.
+                    "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                    "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                  },
+                },
+              ],
+              "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+            },
+          },
+        ],
+        "key": "A String", # The key representing the shared targeting criterion.
+            # Targeting criteria defined by Google ad servers will begin with GOOG_.
+            # Third parties may define their own keys.
+            # A list of permissible keys along with the acceptable values will be
+            # provided as part of the external documentation.
+      },
+    ],
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Information about the seller that created this product.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "webPropertyCode": "A String", # The web-property code for the seller. This needs to be copied as is when
+        # adding a new deal to a proposal.
+    "availableStartTime": "A String", # Inventory availability dates. The start time will be truncated to seconds
+        # during serving. Thus, a field specified as 3:23:34.456 (HH:mm:ss.SSS) will
+        # be truncated to 3:23:34 when serving.
+    "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can
+        # finalize the deal by accepting the product as is. When copying to a
+        # proposal, if any of the terms are changed, then auto_finalize is
+        # automatically set to false.
+    "productRevision": "A String", # The revision number of the product (auto-assigned by Marketplace).
+    "displayName": "A String", # The display name for this product as set by the seller.
+    "publisherProfileId": "A String", # An ID which can be used by the Publisher Profile API to get more
+        # information about the seller that created this product.
+    "availableEndTime": "A String", # The proposed end time for the deal. The field will be truncated to the
+        # order of seconds during serving.
+    "createTime": "A String", # Creation time.
+    "productId": "A String", # The unique ID for the product.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</code>
+  <pre>List all products visible to the buyer (optionally filtered by the
+specified PQL query).
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  pageSize: integer, Requested page size. The server may return fewer results than requested.
+If unspecified, the server will pick an appropriate default.
+  pageToken: string, The page token as returned from ListProductsResponse.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  filter: string, An optional PQL query used to query for products. See
+https://developers.google.com/ad-manager/docs/pqlreference
+for documentation about PQL and examples.
+
+Nested repeated fields, such as product.targetingCriterion.inclusions,
+cannot be filtered.
+
+Returns:
+  An object of the form:
+
+    { # Response message for listing products visible to the buyer.
+    "nextPageToken": "A String", # List pagination support.
+    "products": [ # The list of matching products at their head revision number.
+      { # Note: this resource requires whitelisting for access. Please contact your
+          # account manager for access to Marketplace resources.
+          #
+          # A product is a segment of inventory that a seller wishes to sell. It is
+          # associated with certain terms and targeting information which helps the buyer
+          # know more about the inventory.
+        "creatorContacts": [ # Optional contact information for the creator of this product.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "updateTime": "A String", # Time of last update.
+        "terms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+        "targetingCriterion": [ # Targeting that is shared between the buyer and the seller. Each targeting
+            # criterion has a specified key and for each key there is a list of inclusion
+            # value or exclusion values.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "key": "A String", # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+          },
+        ],
+        "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Information about the seller that created this product.
+            # Ad Manager account ID.
+          "subAccountId": "A String", # Optional sub-account ID for the seller.
+          "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+              # The seller account ID is then available to buyer in the product.
+        },
+        "webPropertyCode": "A String", # The web-property code for the seller. This needs to be copied as is when
+            # adding a new deal to a proposal.
+        "availableStartTime": "A String", # Inventory availability dates. The start time will be truncated to seconds
+            # during serving. Thus, a field specified as 3:23:34.456 (HH:mm:ss.SSS) will
+            # be truncated to 3:23:34 when serving.
+        "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can
+            # finalize the deal by accepting the product as is. When copying to a
+            # proposal, if any of the terms are changed, then auto_finalize is
+            # automatically set to false.
+        "productRevision": "A String", # The revision number of the product (auto-assigned by Marketplace).
+        "displayName": "A String", # The display name for this product as set by the seller.
+        "publisherProfileId": "A String", # An ID which can be used by the Publisher Profile API to get more
+            # information about the seller that created this product.
+        "availableEndTime": "A String", # The proposed end time for the deal. The field will be truncated to the
+            # order of seconds during serving.
+        "createTime": "A String", # Creation time.
+        "productId": "A String", # The unique ID for the product.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
new file mode 100644
index 0000000..aff4cb1
--- /dev/null
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
@@ -0,0 +1,7115 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="adexchangebuyer2_v2beta1.html">Ad Exchange Buyer API II</a> . <a href="adexchangebuyer2_v2beta1.accounts.html">accounts</a> . <a href="adexchangebuyer2_v2beta1.accounts.proposals.html">proposals</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#accept">accept(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Mark the proposal as accepted at the given revision number. If the number</p>
+<p class="toc_element">
+  <code><a href="#addNote">addNote(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create a new note and attach it to the proposal. The note is assigned</p>
+<p class="toc_element">
+  <code><a href="#cancelNegotiation">cancelNegotiation(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Cancel an ongoing negotiation on a proposal. This does not cancel or end</p>
+<p class="toc_element">
+  <code><a href="#completeSetup">completeSetup(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update the given proposal to indicate that setup has been completed.</p>
+<p class="toc_element">
+  <code><a href="#create">create(accountId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create the given proposal. Each created proposal and any deals it contains</p>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, proposalId, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a proposal given its ID. The proposal is returned at its head</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None, filterSyntax=None, filter=None)</a></code></p>
+<p class="firstline">List proposals. A filter expression (PQL query) may be specified to</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#pause">pause(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Update the given proposal to pause serving.</p>
+<p class="toc_element">
+  <code><a href="#resume">resume(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update the given proposal to resume serving.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Update the given proposal at the client known revision number. If the</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="accept">accept(accountId, proposalId, body, x__xgafv=None)</code>
+  <pre>Mark the proposal as accepted at the given revision number. If the number
+does not match the server's revision number an `ABORTED` error message will
+be returned. This call updates the proposal_state from `PROPOSED` to
+`BUYER_ACCEPTED`, or from `SELLER_ACCEPTED` to `FINALIZED`.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The ID of the proposal to accept. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to accept a proposal.
+    "proposalRevision": "A String", # The last known client revision number of the proposal.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # Represents a proposal in the Marketplace. A proposal is the unit of
+      # negotiation between a seller and a buyer and contains deals which
+      # are served.
+      #
+      # Note: you can not update, create, or otherwise modify Private
+      # Auction or Preferred Deals deals through the API.
+      #
+      # Fields are updatable unless noted otherwise.
+    "sellerContacts": [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Output only. The time when the proposal was last revised.
+    "proposalState": "A String", # Output only. The current state of the proposal.
+    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        # Each update to the proposal or the deal causes the proposal revision number
+        # to auto-increment. The buyer keeps track of the last revision number they
+        # know of and pass it in when making an update. If the head revision number
+        # on the server has since incremented, then an ABORTED error is returned
+        # during the update operation to let the buyer know that a subsequent update
+        # was made.
+    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+      { # A deal represents a segment of inventory for displaying ads on.
+          # A proposal can contain multiple deals. A deal contains the terms and
+          # targeting information that is used for serving.
+        "updateTime": "A String", # Output only. The time when the deal was last updated.
+        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            # If present on create, and the server `product_revision` has advanced sinced
+            # the passed-in `create_product_revision`, an `ABORTED` error will be
+            # returned.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "sellerContacts": [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            # This will generally be stored in the granularity of one second since deal
+            # serving starts at seconds boundary. Any time specified with more
+            # granularity (e.g., in milliseconds) will be truncated towards the start of
+            # time in seconds.
+        "availableEndTime": "A String", # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+            # in Ad Manager.
+            # Preferred Deal in Ad Manager.
+            # This doesn't apply to Private Auction and AdX Preferred Deals.
+          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          "creativeSpecifications": [
+            { # Represents information for a creative that is associated with a Programmatic
+                # Guaranteed/Preferred Deal in Ad Manager.
+              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                { # Represents size of a single ad slot, or a creative.
+                  "width": "A String", # The width of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                  "sizeType": "A String", # The size type of the ad slot.
+                  "height": "A String", # The height of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                },
+              ],
+            },
+          ],
+        },
+        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            # target ad inventory. For example, they can choose to target ad requests only
+            # if the user is in the US.
+            # Multiple types of targeting are always applied as a logical AND, unless noted
+            # otherwise.
+          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+            "excludedPositionTypes": [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              "A String",
+            ],
+            "targetedPositionTypes": [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              "A String",
+            ],
+          },
+          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+            },
+            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR'ed.
+            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                # apply.
+              "excludedUrls": [ # A list of URLs to be excluded.
+                "A String",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn't apply to Auction Packages.
+              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # Google Play Store URL.
+                  # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                  # First party mobile applications is either included or excluded.
+                "excludedAppIds": [ # A list of application IDs to be excluded.
+                  "A String",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            "targetedInventorySizes": [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        },
+        "createProductId": "A String", # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            # to see but are non-negotiable. These are set by the publisher.
+          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+            { # Frequency cap.
+              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  # amount of time over which impressions per user are counted and capped.
+              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
+              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  # specified time period.
+            },
+          ],
+          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        },
+        "description": "A String", # Description for the deal terms.
+        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        "createTime": "A String", # Output only. The time of the deal creation.
+        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        "displayName": "A String", # The name of the deal.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND'd together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_