Update documentation
diff --git a/docs/dyn/runtimeconfig_v1beta1.projects.configs.waiters.html b/docs/dyn/runtimeconfig_v1beta1.projects.configs.waiters.html
index 0ad5d1f..b9c212f 100644
--- a/docs/dyn/runtimeconfig_v1beta1.projects.configs.waiters.html
+++ b/docs/dyn/runtimeconfig_v1beta1.projects.configs.waiters.html
@@ -78,14 +78,14 @@
   <code><a href="#create">create(parent=None, body, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a Waiter resource. This operation returns a long-running Operation</p>
 <p class="toc_element">
-  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Deletes the Waiter with the specified name.</p>
+  <code><a href="#delete">delete(name=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes the waiter with the specified name.</p>
 <p class="toc_element">
-  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets the Waiter resource with the specified name.</p>
+  <code><a href="#get">get(name=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets information about a single waiter.</p>
 <p class="toc_element">
   <code><a href="#list">list(parent=None, pageToken=None, x__xgafv=None, pageSize=None)</a></code></p>
-<p class="firstline">List Waiters within the given RuntimeConfig resource.</p>
+<p class="firstline">List waiters within the given configuration.</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>
@@ -93,85 +93,102 @@
 <div class="method">
     <code class="details" id="create">create(parent=None, body, x__xgafv=None)</code>
   <pre>Creates a Waiter resource. This operation returns a long-running Operation
-resource which can be polled for completion. However, a Waiter with the
-given name will exist (and can be retrieved) prior to the resultant
-Operation completing. If the resultant Operation indicates a failure, the
-failed Waiter resource will still exist and must be deleted prior to
-subsequent creation attempts.
+resource which can be polled for completion. However, a waiter with the
+given name will exist (and can be retrieved) prior to the operation
+completing. If the operation fails, the failed Waiter resource will
+still exist and must be deleted prior to subsequent creation attempts.
 
 Args:
-  parent: string, The fully-qualified name of the configuration that will own the waiter.
-Required. Must be a valid configuration name. (required)
+  parent: string, The path to the configuration that will own the waiter.
+The configuration must exist beforehand; the path must by in the format:
+
+`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # A Waiter resource waits for some condition within a RuntimeConfig resource
-      # to be met. For example: each node in a distributed system startup process
-      # writes a value to a Variable resource indicating its readiness. A Waiter
-      # configured with the proper `success` condition can be used to wait until
-      # some number of nodes have checked in.
+{ # A Waiter resource waits for some end condition within a RuntimeConfig resource
+      # to be met before it returns. For example, assume you have a distributed
+      # system where each node writes to a Variable resource indidicating the node's
+      # readiness as part of the startup process.
+      # 
+      # You then configure a Waiter resource with the success condition set to wait
+      # until some number of nodes have checked in. Afterwards, your application
+      # runs some arbitrary code after the condition has been met and the waiter
+      # returns successfully.
+      # 
       # Once created, a Waiter resource is immutable.
-    "name": "A String", # Name of the variable resource.
-        # It has format of
-        # "projects/{project_id}/configs/{config_id}/waiters/{waiter_id}",
-        # Where `project_id` must be a valid Google Cloud project ID, `config_id`
-        # must be a valid RuntimeConfig object and the `waiter_id` must match
-        # RFC 1035 segment specification, and `len(waiter_id)` must be less than
-        # 64 bytes.
-        # The name is assigned by the client, but will be validated on the server
-        # side to adhere to the format.
-        # Name is immutable and cannot be changed. Required.
-    "success": { # A condition that a Waiter resource is waiting for. The set of possible # The success condition. If this condition is met, `done` will be set to
-        # `true` and the `error` value will remain unset. The failure condition
+      # 
+      # To learn more about using waiters, read the
+      # [Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)
+      # documentation.
+    "name": "A String", # The name of the Waiter resource, in the format:
+        # 
+        #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]
+        # 
+        # The `[PROJECT_ID]` must be a valid Google Cloud project ID,
+        # the `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the
+        # `[WAITER_NAME]` must match RFC 1035 segment specification, and the length
+        # of `[WAITER_NAME]` must be less than 64 bytes.
+        # 
+        # After you create a Waiter resource, you cannot change the resource name.
+    "success": { # The condition that a Waiter resource is waiting for. # [Required] The success condition. If this condition is met, `done` will be
+        # set to `true` and the `error` value will remain unset. The failure condition
         # takes precedence over the success condition. If both conditions are met, a
-        # failure will be indicated. Required.
-        # conditions may expand over time.
-      "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
-          # under the specified path prefix reaches the specified number.
-          # For example, take the following variables in a RuntimeConfig object:
-          #   /foo/variable1 = "value1"
-          #   /foo/variable2 = "value2"
-          #   /bar/variable3 = "value3"
+        # failure will be indicated.
+      "cardinality": { # A Cardinality condition for the Waiter resource. A cardinality condition is # The cardinality of the `EndCondition`.
+          # met when the number of variables under a specified path prefix reaches a
+          # predefined number. For example, if you set a Cardinality condition where
+          # the `path` is set to `/foo` and the number of paths is set to 2, the
+          # following variables would meet the condition in a RuntimeConfig resource:
           #
-          # These variables would satisfy a Cardinality condition with `path` set to
-          # "/foo" and `number` set to 2, but would not satisify the same condition
-          # with `number` set to 3.
-        "path": "A String", # The root of the variable subtree to monitor. Required.
-        "number": 42, # The number of decendents of `path` that must exist before this condition
-            # is met. Optional; defaults to 1 if not specified.
+          # + `/foo/variable1 = "value1"`
+          # + `/foo/variable2 = "value2"`
+          # + `/bar/variable3 = "value3"`
+          #
+          # It would not would not satisify the same condition with the `number` set to
+          # 3, however, because there is only 2 paths that start with `/foo`.
+          # Cardinality conditions are recursive; all subtrees under the specific
+          # path prefix are counted.
+        "path": "A String", # The root of the variable subtree to monitor. For example, `/foo`.
+        "number": 42, # The number variables under the `path` that must exist to meet this
+            # condition. Defaults to 1 if not specified.
       },
     },
-    "failure": { # A condition that a Waiter resource is waiting for. The set of possible # The failure condition. If this condition is met, `done` will be set to
-        # `true` and the `error` code will be set to ABORTED. The failure condition
-        # takes precedence over the success condition. If both conditions are met, a
-        # failure will be indicated. This value is optional; if no failure condition
-        # is set, the only failure scenario will be a timeout. Optional.
-        # conditions may expand over time.
-      "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
-          # under the specified path prefix reaches the specified number.
-          # For example, take the following variables in a RuntimeConfig object:
-          #   /foo/variable1 = "value1"
-          #   /foo/variable2 = "value2"
-          #   /bar/variable3 = "value3"
+    "failure": { # The condition that a Waiter resource is waiting for. # [Optional] The failure condition of this waiter. If this condition is met,
+        # `done` will be set to `true` and the `error` code will be set to `ABORTED`.
+        # The failure condition takes precedence over the success condition. If both
+        # conditions are met, a failure will be indicated. This value is optional; if
+        # no failure condition is set, the only failure scenario will be a timeout.
+      "cardinality": { # A Cardinality condition for the Waiter resource. A cardinality condition is # The cardinality of the `EndCondition`.
+          # met when the number of variables under a specified path prefix reaches a
+          # predefined number. For example, if you set a Cardinality condition where
+          # the `path` is set to `/foo` and the number of paths is set to 2, the
+          # following variables would meet the condition in a RuntimeConfig resource:
           #
-          # These variables would satisfy a Cardinality condition with `path` set to
-          # "/foo" and `number` set to 2, but would not satisify the same condition
-          # with `number` set to 3.
-        "path": "A String", # The root of the variable subtree to monitor. Required.
-        "number": 42, # The number of decendents of `path` that must exist before this condition
-            # is met. Optional; defaults to 1 if not specified.
+          # + `/foo/variable1 = "value1"`
+          # + `/foo/variable2 = "value2"`
+          # + `/bar/variable3 = "value3"`
+          #
+          # It would not would not satisify the same condition with the `number` set to
+          # 3, however, because there is only 2 paths that start with `/foo`.
+          # Cardinality conditions are recursive; all subtrees under the specific
+          # path prefix are counted.
+        "path": "A String", # The root of the variable subtree to monitor. For example, `/foo`.
+        "number": 42, # The number variables under the `path` that must exist to meet this
+            # condition. Defaults to 1 if not specified.
       },
     },
-    "done": True or False, # If the value is `false`, it means the Waiter is still waiting for one of
-        # its conditions to be met.
-        # If true, the Waiter has finished. If the Waiter finished due to a timeout
-        # or failure, `error` will be set. Output only.
-    "timeout": "A String", # The timeout, beginning from the instant that CreateWaiter is called. If
-        # this timeout elapses prior to the success or failure conditions being met,
-        # the Waiter will fail and the `error` code will be set to DEADLINE_EXCEEDED.
-        # Required.
-    "error": { # The `Status` type defines a logical error model that is suitable for different # If the Waiter ended due to a failure or timeout, this value will be set.
-        # Output only.
+    "done": True or False, # [Output Only] If the value is `false`, it means the waiter is still waiting
+        # for one of its conditions to be met.
+        # 
+        # If true, the waiter has finished. If the waiter finished due to a timeout
+        # or failure, `error` will be set.
+    "timeout": "A String", # [Required] Specifies the timeout of the waiter in seconds, beginning from
+        # the instant that `waiters().create` method is called. If this time elapses
+        # before the success or failure conditions are met, the waiter fails and sets
+        # the `error` code to `DEADLINE_EXCEEDED`.
+    "error": { # The `Status` type defines a logical error model that is suitable for different # [Output Only] If the waiter ended due to a failure or timeout, this value
+        # will be set.
         # programming environments, including REST APIs and RPC APIs. It is used by
         # [gRPC](https://github.com/grpc). The error model is designed to be:
         #
@@ -230,12 +247,13 @@
       "details": [ # A list of messages that carry the error details.  There will be a
           # common set of message types for APIs to use.
         {
-          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
         },
       ],
     },
-    "createTime": "A String", # The instant at which this Waiter was created. Adding the value of `timeout`
-        # to this instant yields the timeout deadline for this Waiter. Output only.
+    "createTime": "A String", # [Output Only] The instant at which this Waiter resource was created. Adding
+        # the value of `timeout` to this instant yields the timeout deadline for the
+        # waiter.
   }
 
   x__xgafv: string, V1 error format.
@@ -252,7 +270,7 @@
         # contains progress information and common metadata such as create time.
         # Some services might not provide such metadata.  Any method that returns a
         # long-running operation should document the metadata type, if any.
-      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
     },
     "done": True or False, # If the value is `false`, it means the operation is still in progress.
         # If true, the operation is completed, and either `error` or `response` is
@@ -265,7 +283,7 @@
         # is the original method name.  For example, if the original method name
         # is `TakeSnapshot()`, the inferred response type is
         # `TakeSnapshotResponse`.
-      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
     },
     "name": "A String", # The server-assigned name, which is only unique within the same service that
         # originally returns it. If you use the default HTTP mapping, the
@@ -329,7 +347,7 @@
       "details": [ # A list of messages that carry the error details.  There will be a
           # common set of message types for APIs to use.
         {
-          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
         },
       ],
     },
@@ -337,11 +355,13 @@
 </div>
 
 <div class="method">
-    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
-  <pre>Deletes the Waiter with the specified name.
+    <code class="details" id="delete">delete(name=None, x__xgafv=None)</code>
+  <pre>Deletes the waiter with the specified name.
 
 Args:
-  name: string, The Waiter resource to delete. (required)
+  name: string, The Waiter resource to delete, in the format:
+
+ `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -363,11 +383,14 @@
 </div>
 
 <div class="method">
-    <code class="details" id="get">get(name, x__xgafv=None)</code>
-  <pre>Gets the Waiter resource with the specified name.
+    <code class="details" id="get">get(name=None, x__xgafv=None)</code>
+  <pre>Gets information about a single waiter.
 
 Args:
-  name: string, The fully-qualified name of the Waiter resource object to retrieve. (required)
+  name: string, The fully-qualified name of the Waiter resource object to retrieve, in the
+format:
+
+`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -376,73 +399,89 @@
 Returns:
   An object of the form:
 
-    { # A Waiter resource waits for some condition within a RuntimeConfig resource
-        # to be met. For example: each node in a distributed system startup process
-        # writes a value to a Variable resource indicating its readiness. A Waiter
-        # configured with the proper `success` condition can be used to wait until
-        # some number of nodes have checked in.
+    { # A Waiter resource waits for some end condition within a RuntimeConfig resource
+        # to be met before it returns. For example, assume you have a distributed
+        # system where each node writes to a Variable resource indidicating the node's
+        # readiness as part of the startup process.
+        #
+        # You then configure a Waiter resource with the success condition set to wait
+        # until some number of nodes have checked in. Afterwards, your application
+        # runs some arbitrary code after the condition has been met and the waiter
+        # returns successfully.
+        #
         # Once created, a Waiter resource is immutable.
-      "name": "A String", # Name of the variable resource.
-          # It has format of
-          # "projects/{project_id}/configs/{config_id}/waiters/{waiter_id}",
-          # Where `project_id` must be a valid Google Cloud project ID, `config_id`
-          # must be a valid RuntimeConfig object and the `waiter_id` must match
-          # RFC 1035 segment specification, and `len(waiter_id)` must be less than
-          # 64 bytes.
-          # The name is assigned by the client, but will be validated on the server
-          # side to adhere to the format.
-          # Name is immutable and cannot be changed. Required.
-      "success": { # A condition that a Waiter resource is waiting for. The set of possible # The success condition. If this condition is met, `done` will be set to
-          # `true` and the `error` value will remain unset. The failure condition
+        #
+        # To learn more about using waiters, read the
+        # [Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)
+        # documentation.
+      "name": "A String", # The name of the Waiter resource, in the format:
+          #
+          #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]
+          #
+          # The `[PROJECT_ID]` must be a valid Google Cloud project ID,
+          # the `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the
+          # `[WAITER_NAME]` must match RFC 1035 segment specification, and the length
+          # of `[WAITER_NAME]` must be less than 64 bytes.
+          #
+          # After you create a Waiter resource, you cannot change the resource name.
+      "success": { # The condition that a Waiter resource is waiting for. # [Required] The success condition. If this condition is met, `done` will be
+          # set to `true` and the `error` value will remain unset. The failure condition
           # takes precedence over the success condition. If both conditions are met, a
-          # failure will be indicated. Required.
-          # conditions may expand over time.
-        "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
-            # under the specified path prefix reaches the specified number.
-            # For example, take the following variables in a RuntimeConfig object:
-            #   /foo/variable1 = "value1"
-            #   /foo/variable2 = "value2"
-            #   /bar/variable3 = "value3"
+          # failure will be indicated.
+        "cardinality": { # A Cardinality condition for the Waiter resource. A cardinality condition is # The cardinality of the `EndCondition`.
+            # met when the number of variables under a specified path prefix reaches a
+            # predefined number. For example, if you set a Cardinality condition where
+            # the `path` is set to `/foo` and the number of paths is set to 2, the
+            # following variables would meet the condition in a RuntimeConfig resource:
             #
-            # These variables would satisfy a Cardinality condition with `path` set to
-            # "/foo" and `number` set to 2, but would not satisify the same condition
-            # with `number` set to 3.
-          "path": "A String", # The root of the variable subtree to monitor. Required.
-          "number": 42, # The number of decendents of `path` that must exist before this condition
-              # is met. Optional; defaults to 1 if not specified.
+            # + `/foo/variable1 = "value1"`
+            # + `/foo/variable2 = "value2"`
+            # + `/bar/variable3 = "value3"`
+            #
+            # It would not would not satisify the same condition with the `number` set to
+            # 3, however, because there is only 2 paths that start with `/foo`.
+            # Cardinality conditions are recursive; all subtrees under the specific
+            # path prefix are counted.
+          "path": "A String", # The root of the variable subtree to monitor. For example, `/foo`.
+          "number": 42, # The number variables under the `path` that must exist to meet this
+              # condition. Defaults to 1 if not specified.
         },
       },
-      "failure": { # A condition that a Waiter resource is waiting for. The set of possible # The failure condition. If this condition is met, `done` will be set to
-          # `true` and the `error` code will be set to ABORTED. The failure condition
-          # takes precedence over the success condition. If both conditions are met, a
-          # failure will be indicated. This value is optional; if no failure condition
-          # is set, the only failure scenario will be a timeout. Optional.
-          # conditions may expand over time.
-        "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
-            # under the specified path prefix reaches the specified number.
-            # For example, take the following variables in a RuntimeConfig object:
-            #   /foo/variable1 = "value1"
-            #   /foo/variable2 = "value2"
-            #   /bar/variable3 = "value3"
+      "failure": { # The condition that a Waiter resource is waiting for. # [Optional] The failure condition of this waiter. If this condition is met,
+          # `done` will be set to `true` and the `error` code will be set to `ABORTED`.
+          # The failure condition takes precedence over the success condition. If both
+          # conditions are met, a failure will be indicated. This value is optional; if
+          # no failure condition is set, the only failure scenario will be a timeout.
+        "cardinality": { # A Cardinality condition for the Waiter resource. A cardinality condition is # The cardinality of the `EndCondition`.
+            # met when the number of variables under a specified path prefix reaches a
+            # predefined number. For example, if you set a Cardinality condition where
+            # the `path` is set to `/foo` and the number of paths is set to 2, the
+            # following variables would meet the condition in a RuntimeConfig resource:
             #
-            # These variables would satisfy a Cardinality condition with `path` set to
-            # "/foo" and `number` set to 2, but would not satisify the same condition
-            # with `number` set to 3.
-          "path": "A String", # The root of the variable subtree to monitor. Required.
-          "number": 42, # The number of decendents of `path` that must exist before this condition
-              # is met. Optional; defaults to 1 if not specified.
+            # + `/foo/variable1 = "value1"`
+            # + `/foo/variable2 = "value2"`
+            # + `/bar/variable3 = "value3"`
+            #
+            # It would not would not satisify the same condition with the `number` set to
+            # 3, however, because there is only 2 paths that start with `/foo`.
+            # Cardinality conditions are recursive; all subtrees under the specific
+            # path prefix are counted.
+          "path": "A String", # The root of the variable subtree to monitor. For example, `/foo`.
+          "number": 42, # The number variables under the `path` that must exist to meet this
+              # condition. Defaults to 1 if not specified.
         },
       },
-      "done": True or False, # If the value is `false`, it means the Waiter is still waiting for one of
-          # its conditions to be met.
-          # If true, the Waiter has finished. If the Waiter finished due to a timeout
-          # or failure, `error` will be set. Output only.
-      "timeout": "A String", # The timeout, beginning from the instant that CreateWaiter is called. If
-          # this timeout elapses prior to the success or failure conditions being met,
-          # the Waiter will fail and the `error` code will be set to DEADLINE_EXCEEDED.
-          # Required.
-      "error": { # The `Status` type defines a logical error model that is suitable for different # If the Waiter ended due to a failure or timeout, this value will be set.
-          # Output only.
+      "done": True or False, # [Output Only] If the value is `false`, it means the waiter is still waiting
+          # for one of its conditions to be met.
+          #
+          # If true, the waiter has finished. If the waiter finished due to a timeout
+          # or failure, `error` will be set.
+      "timeout": "A String", # [Required] Specifies the timeout of the waiter in seconds, beginning from
+          # the instant that `waiters().create` method is called. If this time elapses
+          # before the success or failure conditions are met, the waiter fails and sets
+          # the `error` code to `DEADLINE_EXCEEDED`.
+      "error": { # The `Status` type defines a logical error model that is suitable for different # [Output Only] If the waiter ended due to a failure or timeout, this value
+          # will be set.
           # programming environments, including REST APIs and RPC APIs. It is used by
           # [gRPC](https://github.com/grpc). The error model is designed to be:
           #
@@ -501,104 +540,128 @@
         "details": [ # A list of messages that carry the error details.  There will be a
             # common set of message types for APIs to use.
           {
-            "a_key": "", # Properties of the object. Contains field @ype with type URL.
+            "a_key": "", # Properties of the object. Contains field @type with type URL.
           },
         ],
       },
-      "createTime": "A String", # The instant at which this Waiter was created. Adding the value of `timeout`
-          # to this instant yields the timeout deadline for this Waiter. Output only.
+      "createTime": "A String", # [Output Only] The instant at which this Waiter resource was created. Adding
+          # the value of `timeout` to this instant yields the timeout deadline for the
+          # waiter.
     }</pre>
 </div>
 
 <div class="method">
     <code class="details" id="list">list(parent=None, pageToken=None, x__xgafv=None, pageSize=None)</code>
-  <pre>List Waiters within the given RuntimeConfig resource.
+  <pre>List waiters within the given configuration.
 
 Args:
-  parent: string, The fully-qualified name of the configuration to list.
-Required. Must be a valid configuration name. (required)
-  pageToken: string, The token for pagination.
+  parent: string, The path to the configuration for which you want to get a list of waiters.
+The configuration must exist beforehand; the path must by in the format:
+
+`projects/[PROJECT_ID]/configs/[CONFIG_NAME]` (required)
+  pageToken: string, Specifies a page token to use. Set `pageToken` to a `nextPageToken`
+returned by a previous list request to get the next page of results.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
       2 - v2 error format
-  pageSize: integer, List pagination support.
-The size of the page to return. We may return fewer elements.
+  pageSize: integer, Specifies the number of results to return per page. If there are fewer
+elements than the specified number, returns all elements.
 
 Returns:
   An object of the form:
 
     { # Response for the `ListWaiters()` method.
       # Order of returned waiter objects is arbitrary.
-    "nextPageToken": "A String", # Pagination support.
+    "nextPageToken": "A String", # This token allows you to get the next page of results for list requests.
+        # If the number of results is larger than `pageSize`, use the `nextPageToken`
+        # as a value for the query parameter `pageToken` in the next list request.
+        # Subsequent list requests will have their own `nextPageToken` to continue
+        # paging through the results
     "waiters": [ # Found waiters in the project.
-      { # A Waiter resource waits for some condition within a RuntimeConfig resource
-            # to be met. For example: each node in a distributed system startup process
-            # writes a value to a Variable resource indicating its readiness. A Waiter
-            # configured with the proper `success` condition can be used to wait until
-            # some number of nodes have checked in.
+      { # A Waiter resource waits for some end condition within a RuntimeConfig resource
+            # to be met before it returns. For example, assume you have a distributed
+            # system where each node writes to a Variable resource indidicating the node's
+            # readiness as part of the startup process.
+            #
+            # You then configure a Waiter resource with the success condition set to wait
+            # until some number of nodes have checked in. Afterwards, your application
+            # runs some arbitrary code after the condition has been met and the waiter
+            # returns successfully.
+            #
             # Once created, a Waiter resource is immutable.
-          "name": "A String", # Name of the variable resource.
-              # It has format of
-              # "projects/{project_id}/configs/{config_id}/waiters/{waiter_id}",
-              # Where `project_id` must be a valid Google Cloud project ID, `config_id`
-              # must be a valid RuntimeConfig object and the `waiter_id` must match
-              # RFC 1035 segment specification, and `len(waiter_id)` must be less than
-              # 64 bytes.
-              # The name is assigned by the client, but will be validated on the server
-              # side to adhere to the format.
-              # Name is immutable and cannot be changed. Required.
-          "success": { # A condition that a Waiter resource is waiting for. The set of possible # The success condition. If this condition is met, `done` will be set to
-              # `true` and the `error` value will remain unset. The failure condition
+            #
+            # To learn more about using waiters, read the
+            # [Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)
+            # documentation.
+          "name": "A String", # The name of the Waiter resource, in the format:
+              #
+              #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]
+              #
+              # The `[PROJECT_ID]` must be a valid Google Cloud project ID,
+              # the `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the
+              # `[WAITER_NAME]` must match RFC 1035 segment specification, and the length
+              # of `[WAITER_NAME]` must be less than 64 bytes.
+              #
+              # After you create a Waiter resource, you cannot change the resource name.
+          "success": { # The condition that a Waiter resource is waiting for. # [Required] The success condition. If this condition is met, `done` will be
+              # set to `true` and the `error` value will remain unset. The failure condition
               # takes precedence over the success condition. If both conditions are met, a
-              # failure will be indicated. Required.
-              # conditions may expand over time.
-            "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
-                # under the specified path prefix reaches the specified number.
-                # For example, take the following variables in a RuntimeConfig object:
-                #   /foo/variable1 = "value1"
-                #   /foo/variable2 = "value2"
-                #   /bar/variable3 = "value3"
+              # failure will be indicated.
+            "cardinality": { # A Cardinality condition for the Waiter resource. A cardinality condition is # The cardinality of the `EndCondition`.
+                # met when the number of variables under a specified path prefix reaches a
+                # predefined number. For example, if you set a Cardinality condition where
+                # the `path` is set to `/foo` and the number of paths is set to 2, the
+                # following variables would meet the condition in a RuntimeConfig resource:
                 #
-                # These variables would satisfy a Cardinality condition with `path` set to
-                # "/foo" and `number` set to 2, but would not satisify the same condition
-                # with `number` set to 3.
-              "path": "A String", # The root of the variable subtree to monitor. Required.
-              "number": 42, # The number of decendents of `path` that must exist before this condition
-                  # is met. Optional; defaults to 1 if not specified.
+                # + `/foo/variable1 = "value1"`
+                # + `/foo/variable2 = "value2"`
+                # + `/bar/variable3 = "value3"`
+                #
+                # It would not would not satisify the same condition with the `number` set to
+                # 3, however, because there is only 2 paths that start with `/foo`.
+                # Cardinality conditions are recursive; all subtrees under the specific
+                # path prefix are counted.
+              "path": "A String", # The root of the variable subtree to monitor. For example, `/foo`.
+              "number": 42, # The number variables under the `path` that must exist to meet this
+                  # condition. Defaults to 1 if not specified.
             },
           },
-          "failure": { # A condition that a Waiter resource is waiting for. The set of possible # The failure condition. If this condition is met, `done` will be set to
-              # `true` and the `error` code will be set to ABORTED. The failure condition
-              # takes precedence over the success condition. If both conditions are met, a
-              # failure will be indicated. This value is optional; if no failure condition
-              # is set, the only failure scenario will be a timeout. Optional.
-              # conditions may expand over time.
-            "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
-                # under the specified path prefix reaches the specified number.
-                # For example, take the following variables in a RuntimeConfig object:
-                #   /foo/variable1 = "value1"
-                #   /foo/variable2 = "value2"
-                #   /bar/variable3 = "value3"
+          "failure": { # The condition that a Waiter resource is waiting for. # [Optional] The failure condition of this waiter. If this condition is met,
+              # `done` will be set to `true` and the `error` code will be set to `ABORTED`.
+              # The failure condition takes precedence over the success condition. If both
+              # conditions are met, a failure will be indicated. This value is optional; if
+              # no failure condition is set, the only failure scenario will be a timeout.
+            "cardinality": { # A Cardinality condition for the Waiter resource. A cardinality condition is # The cardinality of the `EndCondition`.
+                # met when the number of variables under a specified path prefix reaches a
+                # predefined number. For example, if you set a Cardinality condition where
+                # the `path` is set to `/foo` and the number of paths is set to 2, the
+                # following variables would meet the condition in a RuntimeConfig resource:
                 #
-                # These variables would satisfy a Cardinality condition with `path` set to
-                # "/foo" and `number` set to 2, but would not satisify the same condition
-                # with `number` set to 3.
-              "path": "A String", # The root of the variable subtree to monitor. Required.
-              "number": 42, # The number of decendents of `path` that must exist before this condition
-                  # is met. Optional; defaults to 1 if not specified.
+                # + `/foo/variable1 = "value1"`
+                # + `/foo/variable2 = "value2"`
+                # + `/bar/variable3 = "value3"`
+                #
+                # It would not would not satisify the same condition with the `number` set to
+                # 3, however, because there is only 2 paths that start with `/foo`.
+                # Cardinality conditions are recursive; all subtrees under the specific
+                # path prefix are counted.
+              "path": "A String", # The root of the variable subtree to monitor. For example, `/foo`.
+              "number": 42, # The number variables under the `path` that must exist to meet this
+                  # condition. Defaults to 1 if not specified.
             },
           },
-          "done": True or False, # If the value is `false`, it means the Waiter is still waiting for one of
-              # its conditions to be met.
-              # If true, the Waiter has finished. If the Waiter finished due to a timeout
-              # or failure, `error` will be set. Output only.
-          "timeout": "A String", # The timeout, beginning from the instant that CreateWaiter is called. If
-              # this timeout elapses prior to the success or failure conditions being met,
-              # the Waiter will fail and the `error` code will be set to DEADLINE_EXCEEDED.
-              # Required.
-          "error": { # The `Status` type defines a logical error model that is suitable for different # If the Waiter ended due to a failure or timeout, this value will be set.
-              # Output only.
+          "done": True or False, # [Output Only] If the value is `false`, it means the waiter is still waiting
+              # for one of its conditions to be met.
+              #
+              # If true, the waiter has finished. If the waiter finished due to a timeout
+              # or failure, `error` will be set.
+          "timeout": "A String", # [Required] Specifies the timeout of the waiter in seconds, beginning from
+              # the instant that `waiters().create` method is called. If this time elapses
+              # before the success or failure conditions are met, the waiter fails and sets
+              # the `error` code to `DEADLINE_EXCEEDED`.
+          "error": { # The `Status` type defines a logical error model that is suitable for different # [Output Only] If the waiter ended due to a failure or timeout, this value
+              # will be set.
               # programming environments, including REST APIs and RPC APIs. It is used by
               # [gRPC](https://github.com/grpc). The error model is designed to be:
               #
@@ -657,12 +720,13 @@
             "details": [ # A list of messages that carry the error details.  There will be a
                 # common set of message types for APIs to use.
               {
-                "a_key": "", # Properties of the object. Contains field @ype with type URL.
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
               },
             ],
           },
-          "createTime": "A String", # The instant at which this Waiter was created. Adding the value of `timeout`
-              # to this instant yields the timeout deadline for this Waiter. Output only.
+          "createTime": "A String", # [Output Only] The instant at which this Waiter resource was created. Adding
+              # the value of `timeout` to this instant yields the timeout deadline for the
+              # waiter.
         },
     ],
   }</pre>