docs: update generated docs (#1053)

Updates for both discovery docs and epydoc API Documentation

Fixes: #1049
diff --git a/docs/dyn/bigquery_v2.routines.html b/docs/dyn/bigquery_v2.routines.html
index 04e89fa..2b01d1e 100644
--- a/docs/dyn/bigquery_v2.routines.html
+++ b/docs/dyn/bigquery_v2.routines.html
@@ -75,6 +75,9 @@
 <h1><a href="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.routines.html">routines</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
   <code><a href="#delete">delete(projectId, datasetId, routineId)</a></code></p>
 <p class="firstline">Deletes the routine specified by routineId from the dataset.</p>
 <p class="toc_element">
@@ -84,16 +87,21 @@
   <code><a href="#insert">insert(projectId, datasetId, body=None)</a></code></p>
 <p class="firstline">Creates a new routine in the dataset.</p>
 <p class="toc_element">
-  <code><a href="#list">list(projectId, datasetId, readMask=None, filter=None, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists all routines in the specified dataset. Requires the READER dataset</p>
+  <code><a href="#list">list(projectId, datasetId, pageToken=None, readMask=None, filter=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all routines in the specified dataset. Requires the READER dataset role.</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="#update">update(projectId, datasetId, routineId, body=None)</a></code></p>
-<p class="firstline">Updates information in an existing routine. The update method replaces the</p>
+<p class="firstline">Updates information in an existing routine. The update method replaces the entire Routine resource.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
     <code class="details" id="delete">delete(projectId, datasetId, routineId)</code>
   <pre>Deletes the routine specified by routineId from the dataset.
 
@@ -112,122 +120,54 @@
   projectId: string, Required. Project ID of the requested routine (required)
   datasetId: string, Required. Dataset ID of the requested routine (required)
   routineId: string, Required. Routine ID of the requested routine (required)
-  readMask: string, If set, only the Routine fields in the field mask are returned in the
-response. If unset, all Routine fields are returned.
+  readMask: string, If set, only the Routine fields in the field mask are returned in the response. If unset, all Routine fields are returned.
 
 Returns:
   An object of the form:
 
     { # A user-defined function or a stored procedure.
-      &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine.
-          #
-          # For functions, this is the expression in the AS clause.
-          #
-          # If language=SQL, it is the substring inside (but excluding) the
-          # parentheses. For example, for the function created with the following
-          # statement:
-          #
-          # `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))`
-          #
-          # The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with
-          # linebreak).
-          #
-          # If language=JAVASCRIPT, it is the evaluated string in the AS clause.
-          # For example, for the function created with the following statement:
-          #
-          # `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;`
-          #
-          # The definition_body is
-          #
-          # `return &quot;\n&quot;;\n`
-          #
-          # Note that both \n are replaced with linebreaks.
-      &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
-        &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
-        &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
-        &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
+    &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds since the epoch.
+    &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Optional if language = &quot;SQL&quot;; required otherwise. If absent, the return type is inferred from definition_body at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time. For example, for the functions created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64 at query time). Suppose the function `Add` is replaced by `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred return type of `Increment` is automatically changed to INT64 at query time, while the return type of `Decrement` remains FLOAT64.
+      &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+        &quot;fields&quot;: [
+          # Object with schema name: StandardSqlField
+        ],
       },
-      &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
-      &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
-      &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
-      &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
-      &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
-      &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
-          # the epoch.
-      &quot;arguments&quot;: [ # Optional.
-        { # Input/output argument of a function or a stored procedure.
-          &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
-              # Examples:
-              # INT64: {type_kind=&quot;INT64&quot;}
-              # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-              # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-              #   {type_kind=&quot;STRUCT&quot;,
-              #    struct_type={fields=[
-              #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-              #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-              #    ]}}
-            &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-                # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-            &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-              &quot;fields&quot;: [
-                # Object with schema name: StandardSqlField
-              ],
-            },
-            &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+      &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+      &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+    },
+    &quot;arguments&quot;: [ # Optional.
+      { # Input/output argument of a function or a stored procedure.
+        &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
+        &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output. Can be set for procedures only.
+        &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
+        &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Required unless argument_kind = ANY_TYPE.
+          &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+            &quot;fields&quot;: [
+              # Object with schema name: StandardSqlField
+            ],
           },
-          &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
-          &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
-          &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
-              # Can be set for procedures only.
+          &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+          &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
         },
-      ],
-      &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
-          # imported JAVASCRIPT libraries.
-        &quot;A String&quot;,
-      ],
-      &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
-          #
-          # If absent, the return type is inferred from definition_body at query time
-          # in each query that references this routine. If present, then the evaluated
-          # result will be cast to the specified returned type at query time.
-          #
-          # For example, for the functions created with the following statements:
-          #
-          # * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
-          #
-          # * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
-          #
-          # * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
-          #
-          # The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
-          # is absent for `Increment` (inferred as FLOAT64 at query time).
-          #
-          # Suppose the function `Add` is replaced by
-          #   `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
-          #
-          # Then the inferred return type of `Increment` is automatically changed to
-          # INT64 at query time, while the return type of `Decrement` remains FLOAT64.
-          # Examples:
-          # INT64: {type_kind=&quot;INT64&quot;}
-          # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-          # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-          #   {type_kind=&quot;STRUCT&quot;,
-          #    struct_type={fields=[
-          #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-          #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-          #    ]}}
-        &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-            # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-        &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-          &quot;fields&quot;: [
-            # Object with schema name: StandardSqlField
-          ],
-        },
-        &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
       },
-      &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
-          # since the epoch.
-    }</pre>
+    ],
+    &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since the epoch.
+    &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
+    &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
+    &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
+    &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine. For functions, this is the expression in the AS clause. If language=SQL, it is the substring inside (but excluding) the parentheses. For example, for the function created with the following statement: `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))` The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with linebreak). If language=JAVASCRIPT, it is the evaluated string in the AS clause. For example, for the function created with the following statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;` The definition_body is `return &quot;\n&quot;;\n` Note that both \n are replaced with linebreaks.
+    &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
+    &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the imported JAVASCRIPT libraries.
+      &quot;A String&quot;,
+    ],
+    &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
+    &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
+      &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
+      &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
+      &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
+    },
+  }</pre>
 </div>
 
 <div class="method">
@@ -241,372 +181,158 @@
     The object takes the form of:
 
 { # A user-defined function or a stored procedure.
-    &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine.
-        # 
-        # For functions, this is the expression in the AS clause.
-        # 
-        # If language=SQL, it is the substring inside (but excluding) the
-        # parentheses. For example, for the function created with the following
-        # statement:
-        # 
-        # `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))`
-        # 
-        # The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with
-        # linebreak).
-        # 
-        # If language=JAVASCRIPT, it is the evaluated string in the AS clause.
-        # For example, for the function created with the following statement:
-        # 
-        # `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;`
-        # 
-        # The definition_body is
-        # 
-        # `return &quot;\n&quot;;\n`
-        # 
-        # Note that both \n are replaced with linebreaks.
-    &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
-      &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
-      &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
-      &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
-    },
-    &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
-    &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
-    &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
-    &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
-    &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
-    &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
-        # the epoch.
-    &quot;arguments&quot;: [ # Optional.
-      { # Input/output argument of a function or a stored procedure.
-        &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
-            # Examples:
-            # INT64: {type_kind=&quot;INT64&quot;}
-            # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-            # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-            #   {type_kind=&quot;STRUCT&quot;,
-            #    struct_type={fields=[
-            #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-            #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-            #    ]}}
-          &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-              # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-          &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-            &quot;fields&quot;: [
-              # Object with schema name: StandardSqlField
-            ],
-          },
-          &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
-        &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
-        &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
-            # Can be set for procedures only.
-      },
-    ],
-    &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
-        # imported JAVASCRIPT libraries.
-      &quot;A String&quot;,
-    ],
-    &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
-        # 
-        # If absent, the return type is inferred from definition_body at query time
-        # in each query that references this routine. If present, then the evaluated
-        # result will be cast to the specified returned type at query time.
-        # 
-        # For example, for the functions created with the following statements:
-        # 
-        # * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
-        # 
-        # * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
-        # 
-        # * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
-        # 
-        # The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
-        # is absent for `Increment` (inferred as FLOAT64 at query time).
-        # 
-        # Suppose the function `Add` is replaced by
-        #   `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
-        # 
-        # Then the inferred return type of `Increment` is automatically changed to
-        # INT64 at query time, while the return type of `Decrement` remains FLOAT64.
-        # Examples:
-        # INT64: {type_kind=&quot;INT64&quot;}
-        # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-        # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-        #   {type_kind=&quot;STRUCT&quot;,
-        #    struct_type={fields=[
-        #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-        #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-        #    ]}}
-      &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-          # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-      &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-        &quot;fields&quot;: [
-          # Object with schema name: StandardSqlField
-        ],
-      },
-      &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
-    },
-    &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
-        # since the epoch.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A user-defined function or a stored procedure.
-      &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine.
-          #
-          # For functions, this is the expression in the AS clause.
-          #
-          # If language=SQL, it is the substring inside (but excluding) the
-          # parentheses. For example, for the function created with the following
-          # statement:
-          #
-          # `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))`
-          #
-          # The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with
-          # linebreak).
-          #
-          # If language=JAVASCRIPT, it is the evaluated string in the AS clause.
-          # For example, for the function created with the following statement:
-          #
-          # `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;`
-          #
-          # The definition_body is
-          #
-          # `return &quot;\n&quot;;\n`
-          #
-          # Note that both \n are replaced with linebreaks.
-      &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
-        &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
-        &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
-        &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
-      },
-      &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
-      &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
-      &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
-      &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
-      &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
-      &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
-          # the epoch.
-      &quot;arguments&quot;: [ # Optional.
-        { # Input/output argument of a function or a stored procedure.
-          &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
-              # Examples:
-              # INT64: {type_kind=&quot;INT64&quot;}
-              # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-              # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-              #   {type_kind=&quot;STRUCT&quot;,
-              #    struct_type={fields=[
-              #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-              #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-              #    ]}}
-            &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-                # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-            &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-              &quot;fields&quot;: [
-                # Object with schema name: StandardSqlField
-              ],
-            },
-            &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
-          &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
-          &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
-              # Can be set for procedures only.
-        },
+  &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds since the epoch.
+  &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Optional if language = &quot;SQL&quot;; required otherwise. If absent, the return type is inferred from definition_body at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time. For example, for the functions created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64 at query time). Suppose the function `Add` is replaced by `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred return type of `Increment` is automatically changed to INT64 at query time, while the return type of `Decrement` remains FLOAT64.
+    &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+      &quot;fields&quot;: [
+        # Object with schema name: StandardSqlField
       ],
-      &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
-          # imported JAVASCRIPT libraries.
-        &quot;A String&quot;,
-      ],
-      &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
-          #
-          # If absent, the return type is inferred from definition_body at query time
-          # in each query that references this routine. If present, then the evaluated
-          # result will be cast to the specified returned type at query time.
-          #
-          # For example, for the functions created with the following statements:
-          #
-          # * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
-          #
-          # * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
-          #
-          # * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
-          #
-          # The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
-          # is absent for `Increment` (inferred as FLOAT64 at query time).
-          #
-          # Suppose the function `Add` is replaced by
-          #   `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
-          #
-          # Then the inferred return type of `Increment` is automatically changed to
-          # INT64 at query time, while the return type of `Decrement` remains FLOAT64.
-          # Examples:
-          # INT64: {type_kind=&quot;INT64&quot;}
-          # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-          # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-          #   {type_kind=&quot;STRUCT&quot;,
-          #    struct_type={fields=[
-          #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-          #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-          #    ]}}
-        &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-            # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+    },
+    &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+    &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+  },
+  &quot;arguments&quot;: [ # Optional.
+    { # Input/output argument of a function or a stored procedure.
+      &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
+      &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output. Can be set for procedures only.
+      &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
+      &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Required unless argument_kind = ANY_TYPE.
         &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
           &quot;fields&quot;: [
             # Object with schema name: StandardSqlField
           ],
         },
         &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+        &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
       },
-      &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
-          # since the epoch.
-    }</pre>
+    },
+  ],
+  &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since the epoch.
+  &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
+  &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
+  &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine. For functions, this is the expression in the AS clause. If language=SQL, it is the substring inside (but excluding) the parentheses. For example, for the function created with the following statement: `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))` The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with linebreak). If language=JAVASCRIPT, it is the evaluated string in the AS clause. For example, for the function created with the following statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;` The definition_body is `return &quot;\n&quot;;\n` Note that both \n are replaced with linebreaks.
+  &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
+  &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the imported JAVASCRIPT libraries.
+    &quot;A String&quot;,
+  ],
+  &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
+  &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
+    &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
+    &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
+    &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
+  },
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A user-defined function or a stored procedure.
+    &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds since the epoch.
+    &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Optional if language = &quot;SQL&quot;; required otherwise. If absent, the return type is inferred from definition_body at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time. For example, for the functions created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64 at query time). Suppose the function `Add` is replaced by `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred return type of `Increment` is automatically changed to INT64 at query time, while the return type of `Decrement` remains FLOAT64.
+      &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+        &quot;fields&quot;: [
+          # Object with schema name: StandardSqlField
+        ],
+      },
+      &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+      &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+    },
+    &quot;arguments&quot;: [ # Optional.
+      { # Input/output argument of a function or a stored procedure.
+        &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
+        &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output. Can be set for procedures only.
+        &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
+        &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Required unless argument_kind = ANY_TYPE.
+          &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+            &quot;fields&quot;: [
+              # Object with schema name: StandardSqlField
+            ],
+          },
+          &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+          &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+        },
+      },
+    ],
+    &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since the epoch.
+    &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
+    &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
+    &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
+    &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine. For functions, this is the expression in the AS clause. If language=SQL, it is the substring inside (but excluding) the parentheses. For example, for the function created with the following statement: `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))` The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with linebreak). If language=JAVASCRIPT, it is the evaluated string in the AS clause. For example, for the function created with the following statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;` The definition_body is `return &quot;\n&quot;;\n` Note that both \n are replaced with linebreaks.
+    &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
+    &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the imported JAVASCRIPT libraries.
+      &quot;A String&quot;,
+    ],
+    &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
+    &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
+      &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
+      &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
+      &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
+    },
+  }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(projectId, datasetId, readMask=None, filter=None, pageToken=None, maxResults=None)</code>
-  <pre>Lists all routines in the specified dataset. Requires the READER dataset
-role.
+    <code class="details" id="list">list(projectId, datasetId, pageToken=None, readMask=None, filter=None, maxResults=None)</code>
+  <pre>Lists all routines in the specified dataset. Requires the READER dataset role.
 
 Args:
   projectId: string, Required. Project ID of the routines to list (required)
   datasetId: string, Required. Dataset ID of the routines to list (required)
-  readMask: string, If set, then only the Routine fields in the field mask, as well as
-project_id, dataset_id and routine_id, are returned in the response.
-If unset, then the following Routine fields are returned:
-etag, project_id, dataset_id, routine_id, routine_type, creation_time,
-last_modified_time, and language.
-  filter: string, If set, then only the Routines matching this filter are returned.
-The current supported form is either &quot;routine_type:&lt;RoutineType&gt;&quot; or
-&quot;routineType:&lt;RoutineType&gt;&quot;, where &lt;RoutineType&gt; is a RoutineType enum.
-Example: &quot;routineType:SCALAR_FUNCTION&quot;.
-  pageToken: string, Page token, returned by a previous call, to request the next page of
-results
-  maxResults: integer, The maximum number of results to return in a single response page.
-Leverage the page tokens to iterate through the entire collection.
+  pageToken: string, Page token, returned by a previous call, to request the next page of results
+  readMask: string, If set, then only the Routine fields in the field mask, as well as project_id, dataset_id and routine_id, are returned in the response. If unset, then the following Routine fields are returned: etag, project_id, dataset_id, routine_id, routine_type, creation_time, last_modified_time, and language.
+  filter: string, If set, then only the Routines matching this filter are returned. The current supported form is either &quot;routine_type:&quot; or &quot;routineType:&quot;, where is a RoutineType enum. Example: &quot;routineType:SCALAR_FUNCTION&quot;.
+  maxResults: integer, The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection.
 
 Returns:
   An object of the form:
 
     {
-    &quot;routines&quot;: [ # Routines in the requested dataset. Unless read_mask is set in the request,
-        # only the following fields are populated:
-        # etag, project_id, dataset_id, routine_id, routine_type, creation_time,
-        # last_modified_time, and language.
+    &quot;routines&quot;: [ # Routines in the requested dataset. Unless read_mask is set in the request, only the following fields are populated: etag, project_id, dataset_id, routine_id, routine_type, creation_time, last_modified_time, and language.
       { # A user-defined function or a stored procedure.
-          &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine.
-              #
-              # For functions, this is the expression in the AS clause.
-              #
-              # If language=SQL, it is the substring inside (but excluding) the
-              # parentheses. For example, for the function created with the following
-              # statement:
-              #
-              # `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))`
-              #
-              # The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with
-              # linebreak).
-              #
-              # If language=JAVASCRIPT, it is the evaluated string in the AS clause.
-              # For example, for the function created with the following statement:
-              #
-              # `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;`
-              #
-              # The definition_body is
-              #
-              # `return &quot;\n&quot;;\n`
-              #
-              # Note that both \n are replaced with linebreaks.
-          &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
-            &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
-            &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
-            &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
+        &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds since the epoch.
+        &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Optional if language = &quot;SQL&quot;; required otherwise. If absent, the return type is inferred from definition_body at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time. For example, for the functions created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64 at query time). Suppose the function `Add` is replaced by `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred return type of `Increment` is automatically changed to INT64 at query time, while the return type of `Decrement` remains FLOAT64.
+          &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+            &quot;fields&quot;: [
+              # Object with schema name: StandardSqlField
+            ],
           },
-          &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
-          &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
-          &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
-          &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
-          &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
-          &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
-              # the epoch.
-          &quot;arguments&quot;: [ # Optional.
-            { # Input/output argument of a function or a stored procedure.
-              &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
-                  # Examples:
-                  # INT64: {type_kind=&quot;INT64&quot;}
-                  # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-                  # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-                  #   {type_kind=&quot;STRUCT&quot;,
-                  #    struct_type={fields=[
-                  #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-                  #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-                  #    ]}}
-                &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-                    # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-                &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-                  &quot;fields&quot;: [
-                    # Object with schema name: StandardSqlField
-                  ],
-                },
-                &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
-              },
-              &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
-              &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
-              &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
-                  # Can be set for procedures only.
-            },
-          ],
-          &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
-              # imported JAVASCRIPT libraries.
-            &quot;A String&quot;,
-          ],
-          &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
-              #
-              # If absent, the return type is inferred from definition_body at query time
-              # in each query that references this routine. If present, then the evaluated
-              # result will be cast to the specified returned type at query time.
-              #
-              # For example, for the functions created with the following statements:
-              #
-              # * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
-              #
-              # * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
-              #
-              # * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
-              #
-              # The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
-              # is absent for `Increment` (inferred as FLOAT64 at query time).
-              #
-              # Suppose the function `Add` is replaced by
-              #   `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
-              #
-              # Then the inferred return type of `Increment` is automatically changed to
-              # INT64 at query time, while the return type of `Decrement` remains FLOAT64.
-              # Examples:
-              # INT64: {type_kind=&quot;INT64&quot;}
-              # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-              # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-              #   {type_kind=&quot;STRUCT&quot;,
-              #    struct_type={fields=[
-              #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-              #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-              #    ]}}
-            &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-                # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-            &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-              &quot;fields&quot;: [
-                # Object with schema name: StandardSqlField
-              ],
-            },
-            &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
-          },
-          &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
-              # since the epoch.
+          &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+          &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
         },
+        &quot;arguments&quot;: [ # Optional.
+          { # Input/output argument of a function or a stored procedure.
+            &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
+            &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output. Can be set for procedures only.
+            &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
+            &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Required unless argument_kind = ANY_TYPE.
+              &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+                &quot;fields&quot;: [
+                  # Object with schema name: StandardSqlField
+                ],
+              },
+              &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+              &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+            },
+          },
+        ],
+        &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since the epoch.
+        &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
+        &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
+        &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
+        &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine. For functions, this is the expression in the AS clause. If language=SQL, it is the substring inside (but excluding) the parentheses. For example, for the function created with the following statement: `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))` The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with linebreak). If language=JAVASCRIPT, it is the evaluated string in the AS clause. For example, for the function created with the following statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;` The definition_body is `return &quot;\n&quot;;\n` Note that both \n are replaced with linebreaks.
+        &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
+        &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the imported JAVASCRIPT libraries.
+          &quot;A String&quot;,
+        ],
+        &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
+        &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
+          &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
+          &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
+          &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
+        },
+      },
     ],
     &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to request the next page of results.
   }</pre>
@@ -628,8 +354,7 @@
 
 <div class="method">
     <code class="details" id="update">update(projectId, datasetId, routineId, body=None)</code>
-  <pre>Updates information in an existing routine. The update method replaces the
-entire Routine resource.
+  <pre>Updates information in an existing routine. The update method replaces the entire Routine resource.
 
 Args:
   projectId: string, Required. Project ID of the routine to update (required)
@@ -639,230 +364,96 @@
     The object takes the form of:
 
 { # A user-defined function or a stored procedure.
-    &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine.
-        # 
-        # For functions, this is the expression in the AS clause.
-        # 
-        # If language=SQL, it is the substring inside (but excluding) the
-        # parentheses. For example, for the function created with the following
-        # statement:
-        # 
-        # `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))`
-        # 
-        # The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with
-        # linebreak).
-        # 
-        # If language=JAVASCRIPT, it is the evaluated string in the AS clause.
-        # For example, for the function created with the following statement:
-        # 
-        # `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;`
-        # 
-        # The definition_body is
-        # 
-        # `return &quot;\n&quot;;\n`
-        # 
-        # Note that both \n are replaced with linebreaks.
-    &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
-      &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
-      &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
-      &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
-    },
-    &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
-    &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
-    &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
-    &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
-    &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
-    &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
-        # the epoch.
-    &quot;arguments&quot;: [ # Optional.
-      { # Input/output argument of a function or a stored procedure.
-        &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
-            # Examples:
-            # INT64: {type_kind=&quot;INT64&quot;}
-            # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-            # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-            #   {type_kind=&quot;STRUCT&quot;,
-            #    struct_type={fields=[
-            #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-            #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-            #    ]}}
-          &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-              # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-          &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-            &quot;fields&quot;: [
-              # Object with schema name: StandardSqlField
-            ],
-          },
-          &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
-        &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
-        &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
-            # Can be set for procedures only.
-      },
-    ],
-    &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
-        # imported JAVASCRIPT libraries.
-      &quot;A String&quot;,
-    ],
-    &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
-        # 
-        # If absent, the return type is inferred from definition_body at query time
-        # in each query that references this routine. If present, then the evaluated
-        # result will be cast to the specified returned type at query time.
-        # 
-        # For example, for the functions created with the following statements:
-        # 
-        # * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
-        # 
-        # * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
-        # 
-        # * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
-        # 
-        # The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
-        # is absent for `Increment` (inferred as FLOAT64 at query time).
-        # 
-        # Suppose the function `Add` is replaced by
-        #   `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
-        # 
-        # Then the inferred return type of `Increment` is automatically changed to
-        # INT64 at query time, while the return type of `Decrement` remains FLOAT64.
-        # Examples:
-        # INT64: {type_kind=&quot;INT64&quot;}
-        # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-        # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-        #   {type_kind=&quot;STRUCT&quot;,
-        #    struct_type={fields=[
-        #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-        #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-        #    ]}}
-      &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-          # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-      &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-        &quot;fields&quot;: [
-          # Object with schema name: StandardSqlField
-        ],
-      },
-      &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
-    },
-    &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
-        # since the epoch.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A user-defined function or a stored procedure.
-      &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine.
-          #
-          # For functions, this is the expression in the AS clause.
-          #
-          # If language=SQL, it is the substring inside (but excluding) the
-          # parentheses. For example, for the function created with the following
-          # statement:
-          #
-          # `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))`
-          #
-          # The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with
-          # linebreak).
-          #
-          # If language=JAVASCRIPT, it is the evaluated string in the AS clause.
-          # For example, for the function created with the following statement:
-          #
-          # `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;`
-          #
-          # The definition_body is
-          #
-          # `return &quot;\n&quot;;\n`
-          #
-          # Note that both \n are replaced with linebreaks.
-      &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
-        &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
-        &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
-        &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
-      },
-      &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
-      &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
-      &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
-      &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
-      &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
-      &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
-          # the epoch.
-      &quot;arguments&quot;: [ # Optional.
-        { # Input/output argument of a function or a stored procedure.
-          &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
-              # Examples:
-              # INT64: {type_kind=&quot;INT64&quot;}
-              # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-              # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-              #   {type_kind=&quot;STRUCT&quot;,
-              #    struct_type={fields=[
-              #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-              #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-              #    ]}}
-            &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-                # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
-            &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
-              &quot;fields&quot;: [
-                # Object with schema name: StandardSqlField
-              ],
-            },
-            &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
-          &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
-          &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
-              # Can be set for procedures only.
-        },
+  &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds since the epoch.
+  &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Optional if language = &quot;SQL&quot;; required otherwise. If absent, the return type is inferred from definition_body at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time. For example, for the functions created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64 at query time). Suppose the function `Add` is replaced by `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred return type of `Increment` is automatically changed to INT64 at query time, while the return type of `Decrement` remains FLOAT64.
+    &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+      &quot;fields&quot;: [
+        # Object with schema name: StandardSqlField
       ],
-      &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
-          # imported JAVASCRIPT libraries.
-        &quot;A String&quot;,
-      ],
-      &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
-          #
-          # If absent, the return type is inferred from definition_body at query time
-          # in each query that references this routine. If present, then the evaluated
-          # result will be cast to the specified returned type at query time.
-          #
-          # For example, for the functions created with the following statements:
-          #
-          # * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
-          #
-          # * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
-          #
-          # * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
-          #
-          # The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
-          # is absent for `Increment` (inferred as FLOAT64 at query time).
-          #
-          # Suppose the function `Add` is replaced by
-          #   `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
-          #
-          # Then the inferred return type of `Increment` is automatically changed to
-          # INT64 at query time, while the return type of `Decrement` remains FLOAT64.
-          # Examples:
-          # INT64: {type_kind=&quot;INT64&quot;}
-          # ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
-          # STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
-          #   {type_kind=&quot;STRUCT&quot;,
-          #    struct_type={fields=[
-          #      {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
-          #      {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
-          #    ]}}
-        &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
-            # Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+    },
+    &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+    &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+  },
+  &quot;arguments&quot;: [ # Optional.
+    { # Input/output argument of a function or a stored procedure.
+      &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
+      &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output. Can be set for procedures only.
+      &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
+      &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Required unless argument_kind = ANY_TYPE.
         &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
           &quot;fields&quot;: [
             # Object with schema name: StandardSqlField
           ],
         },
         &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+        &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
       },
-      &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
-          # since the epoch.
-    }</pre>
+    },
+  ],
+  &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since the epoch.
+  &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
+  &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
+  &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine. For functions, this is the expression in the AS clause. If language=SQL, it is the substring inside (but excluding) the parentheses. For example, for the function created with the following statement: `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))` The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with linebreak). If language=JAVASCRIPT, it is the evaluated string in the AS clause. For example, for the function created with the following statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;` The definition_body is `return &quot;\n&quot;;\n` Note that both \n are replaced with linebreaks.
+  &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
+  &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the imported JAVASCRIPT libraries.
+    &quot;A String&quot;,
+  ],
+  &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
+  &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
+    &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
+    &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
+    &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
+  },
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A user-defined function or a stored procedure.
+    &quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds since the epoch.
+    &quot;returnType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Optional if language = &quot;SQL&quot;; required otherwise. If absent, the return type is inferred from definition_body at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time. For example, for the functions created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64 at query time). Suppose the function `Add` is replaced by `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred return type of `Increment` is automatically changed to INT64 at query time, while the return type of `Decrement` remains FLOAT64.
+      &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+        &quot;fields&quot;: [
+          # Object with schema name: StandardSqlField
+        ],
+      },
+      &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+      &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+    },
+    &quot;arguments&quot;: [ # Optional.
+      { # Input/output argument of a function or a stored procedure.
+        &quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
+        &quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output. Can be set for procedures only.
+        &quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
+        &quot;dataType&quot;: { # The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=&quot;INT64&quot;} ARRAY: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;} STRUCT&gt;: {type_kind=&quot;STRUCT&quot;, struct_type={fields=[ {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}}, {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}} ]}} # Required unless argument_kind = ANY_TYPE.
+          &quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
+            &quot;fields&quot;: [
+              # Object with schema name: StandardSqlField
+            ],
+          },
+          &quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
+          &quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field. Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
+        },
+      },
+    ],
+    &quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since the epoch.
+    &quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
+    &quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
+    &quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
+    &quot;definitionBody&quot;: &quot;A String&quot;, # Required. The body of the routine. For functions, this is the expression in the AS clause. If language=SQL, it is the substring inside (but excluding) the parentheses. For example, for the function created with the following statement: `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, &quot;\n&quot;, y))` The definition_body is `concat(x, &quot;\n&quot;, y)` (\n is not replaced with linebreak). If language=JAVASCRIPT, it is the evaluated string in the AS clause. For example, for the function created with the following statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS &#x27;return &quot;\n&quot;;\n&#x27;` The definition_body is `return &quot;\n&quot;;\n` Note that both \n are replaced with linebreaks.
+    &quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
+    &quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the imported JAVASCRIPT libraries.
+      &quot;A String&quot;,
+    ],
+    &quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
+    &quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
+      &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
+      &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
+      &quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
+    },
+  }</pre>
 </div>
 
 </body></html>
\ No newline at end of file