docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/sasportal_v1alpha1.policies.html b/docs/dyn/sasportal_v1alpha1.policies.html
new file mode 100644
index 0000000..d93e143
--- /dev/null
+++ b/docs/dyn/sasportal_v1alpha1.policies.html
@@ -0,0 +1,249 @@
+<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="sasportal_v1alpha1.html">SAS Portal API</a> . <a href="sasportal_v1alpha1.policies.html">policies</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the access control policy for a resource.</p>
+<p class="toc_element">
+  <code><a href="#set">set(body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the access control policy on the specified resource. Replaces any</p>
+<p class="toc_element">
+  <code><a href="#test">test(body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns permissions that a caller has on the specified resource.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(body=None, x__xgafv=None)</code>
+  <pre>Gets the access control policy for a resource.
+Returns an empty policy if the resource exists and does not have a policy
+set.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `GetPolicy` method.
+    &quot;resource&quot;: &quot;A String&quot;, # Required. The resource for which the policy is being requested.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Defines an access control policy to the resources.
+    &quot;etag&quot;: &quot;A String&quot;, # The [etag] is used for optimistic concurrency control as a way to
+        # help prevent simultaneous updates of a policy from overwriting
+        # each other.  It is strongly suggested that systems make use of
+        # the [etag] in the read-modify-write cycle to perform policy
+        # updates in order to avoid race conditions: An [etag] is returned
+        # in the response to [GetPolicy], and systems are expected to put
+        # that etag in the request to [SetPolicy] to ensure that their
+        # change will be applied to the same version of the policy.
+        #
+        # If no [etag] is provided in the call to [SetPolicy], then the
+        # existing policy is overwritten blindly.
+    &quot;assignments&quot;: [
+      { # Associates `members` with a `role`.
+        &quot;members&quot;: [ # The identities the role is assigned to. It can have the following
+            # values:
+            #
+            # * `{user_email}`: An email address that represents a specific
+            #    Google account. For example: `alice@gmail.com`.
+            #
+            # * `{group_email}`: An email address that represents a Google
+            #    group.  For example, `viewers@gmail.com`.
+          &quot;A String&quot;,
+        ],
+        &quot;role&quot;: &quot;A String&quot;, # Required. Role that is assigned to `members`.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="set">set(body=None, x__xgafv=None)</code>
+  <pre>Sets the access control policy on the specified resource. Replaces any
+existing policy.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `SetPolicy` method.
+    &quot;resource&quot;: &quot;A String&quot;, # Required. The resource for which the policy is being specified. This policy
+        # replaces any existing policy.
+    &quot;policy&quot;: { # Defines an access control policy to the resources. # Required. The policy to be applied to the `resource`.
+      &quot;etag&quot;: &quot;A String&quot;, # The [etag] is used for optimistic concurrency control as a way to
+          # help prevent simultaneous updates of a policy from overwriting
+          # each other.  It is strongly suggested that systems make use of
+          # the [etag] in the read-modify-write cycle to perform policy
+          # updates in order to avoid race conditions: An [etag] is returned
+          # in the response to [GetPolicy], and systems are expected to put
+          # that etag in the request to [SetPolicy] to ensure that their
+          # change will be applied to the same version of the policy.
+          #
+          # If no [etag] is provided in the call to [SetPolicy], then the
+          # existing policy is overwritten blindly.
+      &quot;assignments&quot;: [
+        { # Associates `members` with a `role`.
+          &quot;members&quot;: [ # The identities the role is assigned to. It can have the following
+              # values:
+              #
+              # * `{user_email}`: An email address that represents a specific
+              #    Google account. For example: `alice@gmail.com`.
+              #
+              # * `{group_email}`: An email address that represents a Google
+              #    group.  For example, `viewers@gmail.com`.
+            &quot;A String&quot;,
+          ],
+          &quot;role&quot;: &quot;A String&quot;, # Required. Role that is assigned to `members`.
+        },
+      ],
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Defines an access control policy to the resources.
+    &quot;etag&quot;: &quot;A String&quot;, # The [etag] is used for optimistic concurrency control as a way to
+        # help prevent simultaneous updates of a policy from overwriting
+        # each other.  It is strongly suggested that systems make use of
+        # the [etag] in the read-modify-write cycle to perform policy
+        # updates in order to avoid race conditions: An [etag] is returned
+        # in the response to [GetPolicy], and systems are expected to put
+        # that etag in the request to [SetPolicy] to ensure that their
+        # change will be applied to the same version of the policy.
+        #
+        # If no [etag] is provided in the call to [SetPolicy], then the
+        # existing policy is overwritten blindly.
+    &quot;assignments&quot;: [
+      { # Associates `members` with a `role`.
+        &quot;members&quot;: [ # The identities the role is assigned to. It can have the following
+            # values:
+            #
+            # * `{user_email}`: An email address that represents a specific
+            #    Google account. For example: `alice@gmail.com`.
+            #
+            # * `{group_email}`: An email address that represents a Google
+            #    group.  For example, `viewers@gmail.com`.
+          &quot;A String&quot;,
+        ],
+        &quot;role&quot;: &quot;A String&quot;, # Required. Role that is assigned to `members`.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="test">test(body=None, x__xgafv=None)</code>
+  <pre>Returns permissions that a caller has on the specified resource.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `TestPermissions` method.
+    &quot;resource&quot;: &quot;A String&quot;, # Required. The resource for which the permissions are being requested.
+    &quot;permissions&quot;: [ # The set of permissions to check for the `resource`.
+      &quot;A String&quot;,
+    ],
+  }
+
+  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 `TestPermissions` method.
+    &quot;permissions&quot;: [ # A set of permissions that the caller is allowed.
+      &quot;A String&quot;,
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file