chore: regens API reference docs (#889)

diff --git a/docs/dyn/accesscontextmanager_v1beta.accessPolicies.servicePerimeters.html b/docs/dyn/accesscontextmanager_v1beta.accessPolicies.servicePerimeters.html
index ddda055..e37e5be 100644
--- a/docs/dyn/accesscontextmanager_v1beta.accessPolicies.servicePerimeters.html
+++ b/docs/dyn/accesscontextmanager_v1beta.accessPolicies.servicePerimeters.html
@@ -75,27 +75,27 @@
 <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>
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Create a 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="firstline">Delete a 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="firstline">Get a 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>
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=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>
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update a 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
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Create a 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
@@ -106,36 +106,46 @@
 Perimeter.
 
 Format: `accessPolicies/{policy_id}` (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     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` describes a set of Google Cloud 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,
+      # Regular and Bridge. Regular Service Perimeters cannot overlap, a single
+      # Google Cloud project can only belong to a single regular Service Perimeter.
+      # Service Perimeter Bridges can contain only Google Cloud projects as members,
+      # a single Google Cloud project may belong to multiple Service Perimeter
+      # Bridges.
+    "status": { # `ServicePerimeterConfig` specifies a set of Google Cloud resources that # 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
+        # describe specific Service Perimeter configuration.
+      "restrictedServices": [ # Google Cloud 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
+      "vpcAccessibleServices": { # Specifies how APIs are allowed to communicate within the Service # Beta. Configuration for APIs allowed within Perimeter.
+          # Perimeter.
+        "enableRestriction": True or False, # Whether to restrict API calls within the Service Perimeter to the list of
+            # APIs specified in 'allowed_services'.
+        "allowedServices": [ # The list of APIs usable within the Service Perimeter. Must be empty
+            # unless 'enable_restriction' is True.
+          "A String",
+        ],
+      },
+      "unrestrictedServices": [ # Google Cloud 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.
+      "resources": [ # A list of Google Cloud resources that are inside of the service perimeter.
           # Currently only projects are allowed. Format: `projects/{project_number}`
         "A String",
       ],
@@ -143,16 +153,13 @@
           # `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:
+          # listed, resources within the perimeter can only be accessed via Google
+          # Cloud 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
@@ -160,10 +167,11 @@
         # 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}`
+    "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+        # behavior.
   }
 
   x__xgafv: string, V1 error format.
@@ -176,28 +184,12 @@
 
     { # 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
@@ -216,12 +208,28 @@
         },
       ],
     },
+    "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
+  <pre>Delete a 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.
@@ -241,28 +249,12 @@
 
     { # 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
@@ -281,12 +273,28 @@
         },
       ],
     },
+    "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
+  <pre>Get a Service Perimeter by resource
 name.
 
 Args:
@@ -302,33 +310,43 @@
 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` describes a set of Google Cloud 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,
+        # Regular and Bridge. Regular Service Perimeters cannot overlap, a single
+        # Google Cloud project can only belong to a single regular Service Perimeter.
+        # Service Perimeter Bridges can contain only Google Cloud projects as members,
+        # a single Google Cloud project may belong to multiple Service Perimeter
+        # Bridges.
+      "status": { # `ServicePerimeterConfig` specifies a set of Google Cloud resources that # 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
+          # describe specific Service Perimeter configuration.
+        "restrictedServices": [ # Google Cloud 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
+        "vpcAccessibleServices": { # Specifies how APIs are allowed to communicate within the Service # Beta. Configuration for APIs allowed within Perimeter.
+            # Perimeter.
+          "enableRestriction": True or False, # Whether to restrict API calls within the Service Perimeter to the list of
+              # APIs specified in 'allowed_services'.
+          "allowedServices": [ # The list of APIs usable within the Service Perimeter. Must be empty
+              # unless 'enable_restriction' is True.
+            "A String",
+          ],
+        },
+        "unrestrictedServices": [ # Google Cloud 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.
+        "resources": [ # A list of Google Cloud resources that are inside of the service perimeter.
             # Currently only projects are allowed. Format: `projects/{project_number}`
           "A String",
         ],
@@ -336,16 +354,13 @@
             # `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:
+            # listed, resources within the perimeter can only be accessed via Google
+            # Cloud 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
@@ -353,15 +368,16 @@
           # 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}`
+      "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>
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>List all Service Perimeters for an
 access policy.
 
@@ -370,14 +386,14 @@
 
 Format:
 `accessPolicies/{policy_id}` (required)
+  pageSize: integer, Number of Service Perimeters to include
+in the list. Default 100.
   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:
@@ -386,33 +402,43 @@
     "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` describes a set of Google Cloud 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,
+            # Regular and Bridge. Regular Service Perimeters cannot overlap, a single
+            # Google Cloud project can only belong to a single regular Service Perimeter.
+            # Service Perimeter Bridges can contain only Google Cloud projects as members,
+            # a single Google Cloud project may belong to multiple Service Perimeter
+            # Bridges.
+          "status": { # `ServicePerimeterConfig` specifies a set of Google Cloud resources that # 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
+              # describe specific Service Perimeter configuration.
+            "restrictedServices": [ # Google Cloud 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
+            "vpcAccessibleServices": { # Specifies how APIs are allowed to communicate within the Service # Beta. Configuration for APIs allowed within Perimeter.
+                # Perimeter.
+              "enableRestriction": True or False, # Whether to restrict API calls within the Service Perimeter to the list of
+                  # APIs specified in 'allowed_services'.
+              "allowedServices": [ # The list of APIs usable within the Service Perimeter. Must be empty
+                  # unless 'enable_restriction' is True.
+                "A String",
+              ],
+            },
+            "unrestrictedServices": [ # Google Cloud 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.
+            "resources": [ # A list of Google Cloud resources that are inside of the service perimeter.
                 # Currently only projects are allowed. Format: `projects/{project_number}`
               "A String",
             ],
@@ -420,16 +446,13 @@
                 # `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:
+                # listed, resources within the perimeter can only be accessed via Google
+                # Cloud 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
@@ -437,10 +460,11 @@
               # 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}`
+          "description": "A String", # Description of the `ServicePerimeter` and its use. Does not affect
+              # behavior.
         },
     ],
   }</pre>
@@ -461,8 +485,8 @@
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
-  <pre>Update an Service Perimeter. The
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Update a 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
@@ -472,36 +496,46 @@
   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)
+  body: object, The request body.
     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` describes a set of Google Cloud 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,
+      # Regular and Bridge. Regular Service Perimeters cannot overlap, a single
+      # Google Cloud project can only belong to a single regular Service Perimeter.
+      # Service Perimeter Bridges can contain only Google Cloud projects as members,
+      # a single Google Cloud project may belong to multiple Service Perimeter
+      # Bridges.
+    "status": { # `ServicePerimeterConfig` specifies a set of Google Cloud resources that # 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
+        # describe specific Service Perimeter configuration.
+      "restrictedServices": [ # Google Cloud 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
+      "vpcAccessibleServices": { # Specifies how APIs are allowed to communicate within the Service # Beta. Configuration for APIs allowed within Perimeter.
+          # Perimeter.
+        "enableRestriction": True or False, # Whether to restrict API calls within the Service Perimeter to the list of
+            # APIs specified in 'allowed_services'.
+        "allowedServices": [ # The list of APIs usable within the Service Perimeter. Must be empty
+            # unless 'enable_restriction' is True.
+          "A String",
+        ],
+      },
+      "unrestrictedServices": [ # Google Cloud 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.
+      "resources": [ # A list of Google Cloud resources that are inside of the service perimeter.
           # Currently only projects are allowed. Format: `projects/{project_number}`
         "A String",
       ],
@@ -509,16 +543,13 @@
           # `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:
+          # listed, resources within the perimeter can only be accessed via Google
+          # Cloud 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
@@ -526,10 +557,11 @@
         # 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}`
+    "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.
@@ -543,28 +575,12 @@
 
     { # 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
@@ -583,6 +599,22 @@
         },
       ],
     },
+    "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>