docs: docs update (#911)

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

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/chat_v1.spaces.messages.html b/docs/dyn/chat_v1.spaces.messages.html
index 6c6aece..4ab60cc 100644
--- a/docs/dyn/chat_v1.spaces.messages.html
+++ b/docs/dyn/chat_v1.spaces.messages.html
@@ -92,319 +92,322 @@
   <pre>Creates a message.
 
 Args:
-  parent: string, Required. Space resource name, in the form "spaces/*".
+  parent: string, Required. Space resource name, in the form &quot;spaces/*&quot;.
 Example: spaces/AAAAMpdlehY (required)
   body: object, The request body.
     The object takes the form of:
 
 { # A message in Hangouts Chat.
-    "actionResponse": { # Parameters that a bot can use to configure how it's response is posted. # Input only. Parameters that a bot can use to configure how its response is
-        # posted.
-      "url": "A String", # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-      "type": "A String", # The type of bot response.
-    },
-    "name": "A String", # Resource name, in the form "spaces/*/messages/*".
-        # 
-        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
-    "thread": { # A thread in Hangouts Chat. # The thread the message belongs to.
-      "name": "A String", # Resource name, in the form "spaces/*/threads/*".
-          #
-          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-    },
-    "space": { # A room or DM in Hangouts Chat. # The space the message belongs to.
-      "type": "A String", # Output only. The type of a space.
-      "displayName": "A String", # Output only. The display name (only if the space is a room).
-      "name": "A String", # Resource name of the space, in the form "spaces/*".
-          #
-          # Example: spaces/AAAAMpdlehYs
-    },
-    "text": "A String", # Plain-text body of the message.
-    "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards
-        # cannot be displayed (e.g. mobile notifications).
-    "createTime": "A String", # Output only. The time at which the message was created in Hangouts Chat
-        # server.
-    "argumentText": "A String", # Plain-text body of the message with all bot mentions stripped out.
-    "cards": [ # Rich, formatted and interactive cards that can be used to display UI
-        # elements such as: formatted texts, buttons, clickable images. Cards are
-        # normally displayed below the plain-text body of the message.
-      { # A card is a UI element that can contain UI widgets such as texts, images.
-        "cardActions": [ # The actions of this card.
-          { # A card action is
-              # the action associated with the card. For an invoice card, a
-              # typical action would be: delete invoice, email invoice or open the
-              # invoice in browser.
-            "actionLabel": "A String", # The label used to be displayed in the action menu item.
-            "onClick": { # An onclick action (e.g. open a link). # The onclick action for this action item.
-              "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                  # For example, an Apps Script can be invoked to handle the form.
-                "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                    # form submission. This information is echoed back to the bot as part of
-                    # the card click event. The same method name can be used for several
-                    # elements that trigger a common behavior if desired.
-                "parameters": [ # List of action parameters.
-                  { # List of string parameters to supply when the action method is invoked.
-                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                      # snooze next week. You might use action method = snooze(), passing the
-                      # snooze type and snooze time in the list of string parameters.
-                    "key": "A String", # The name of the parameter for the action script.
-                    "value": "A String", # The value of the parameter.
+  &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+      # elements such as: formatted texts, buttons, clickable images. Cards are
+      # normally displayed below the plain-text body of the message.
+    { # A card is a UI element that can contain UI widgets such as texts, images.
+      &quot;sections&quot;: [ # Sections are separated by a line divider.
+        { # A section contains a collection of widgets that are rendered
+            # (vertically) in the order that they are specified. Across all platforms,
+            # cards have a narrow fixed width, so
+            # there is currently no need for layout properties (e.g. float).
+          &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+          &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+            { # A widget is a UI element that presents texts, images, etc.
+              &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                &quot;text&quot;: &quot;A String&quot;,
+              },
+              &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                  # element may also contain some actions such as onclick button.
+                &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                  &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                    &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          },
+                        ],
+                      },
+                    },
                   },
-                ],
+                  &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                    &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                        # API.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                    &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                        # Default value will be provided if developers don&#x27;t specify.
+                  },
+                },
+                &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                    # corresponding icon image.
+                &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                    # are clickable.
+                  &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                    &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                  },
+                  &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                      # For example, an Apps Script can be invoked to handle the form.
+                    &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                        # form submission. This information is echoed back to the bot as part of
+                        # the card click event. The same method name can be used for several
+                        # elements that trigger a common behavior if desired.
+                    &quot;parameters&quot;: [ # List of action parameters.
+                      { # List of string parameters to supply when the action method is invoked.
+                          # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                          # snooze next week. You might use action method = snooze(), passing the
+                          # snooze type and snooze time in the list of string parameters.
+                        &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                        &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                      },
+                    ],
+                  },
+                },
+                &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
               },
-              "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                "url": "A String", # The URL to open.
+              &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                    # to reserve the right height for the image while waiting for it to load.
+                    # It&#x27;s not meant to override the native aspect ratio of the image.
+                    # If unset, the server fills it by prefetching the image.
+                &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                  &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                    &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                  },
+                  &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                      # For example, an Apps Script can be invoked to handle the form.
+                    &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                        # form submission. This information is echoed back to the bot as part of
+                        # the card click event. The same method name can be used for several
+                        # elements that trigger a common behavior if desired.
+                    &quot;parameters&quot;: [ # List of action parameters.
+                      { # List of string parameters to supply when the action method is invoked.
+                          # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                          # snooze next week. You might use action method = snooze(), passing the
+                          # snooze type and snooze time in the list of string parameters.
+                        &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                        &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                      },
+                    ],
+                  },
+                },
               },
+              &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                  # fields should be set.
+                { # A button. Can be a text button or an image button.
+                  &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                    &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          },
+                        ],
+                      },
+                    },
+                  },
+                  &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                    &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                        # API.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                    &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                        # Default value will be provided if developers don&#x27;t specify.
+                  },
+                },
+              ],
+            },
+          ],
+        },
+      ],
+      &quot;cardActions&quot;: [ # The actions of this card.
+        { # A card action is
+            # the action associated with the card. For an invoice card, a
+            # typical action would be: delete invoice, email invoice or open the
+            # invoice in browser.
+          &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+          &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+            &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+              &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+            },
+            &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                # For example, an Apps Script can be invoked to handle the form.
+              &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                  # form submission. This information is echoed back to the bot as part of
+                  # the card click event. The same method name can be used for several
+                  # elements that trigger a common behavior if desired.
+              &quot;parameters&quot;: [ # List of action parameters.
+                { # List of string parameters to supply when the action method is invoked.
+                    # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                    # snooze next week. You might use action method = snooze(), passing the
+                    # snooze type and snooze time in the list of string parameters.
+                  &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                },
+              ],
             },
           },
-        ],
-        "sections": [ # Sections are separated by a line divider.
-          { # A section contains a collection of widgets that are rendered
-              # (vertically) in the order that they are specified. Across all platforms,
-              # cards have a narrow fixed width, so
-              # there is currently no need for layout properties (e.g. float).
-            "widgets": [ # A section must contain at least 1 widget.
-              { # A widget is a UI element that presents texts, images, etc.
-                "buttons": [ # A list of buttons. Buttons is also oneof data and only one of these
-                    # fields should be set.
-                  { # A button. Can be a text button or an image button.
-                    "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                      "iconUrl": "A String", # The icon specified by a URL.
-                      "name": "A String", # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don't specify.
-                      "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                        "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          "parameters": [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              "key": "A String", # The name of the parameter for the action script.
-                              "value": "A String", # The value of the parameter.
-                            },
-                          ],
-                        },
-                        "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          "url": "A String", # The URL to open.
-                        },
-                      },
-                      "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                    },
-                    "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                      "text": "A String", # The text of the button.
-                      "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          "parameters": [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              "key": "A String", # The name of the parameter for the action script.
-                              "value": "A String", # The value of the parameter.
-                            },
-                          ],
-                        },
-                        "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          "url": "A String", # The URL to open.
-                        },
-                      },
-                    },
-                  },
-                ],
-                "keyValue": { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                    # element may also contain some actions such as onclick button.
-                  "contentMultiline": True or False, # If the content should be multiline.
-                  "bottomLabel": "A String", # The text of the bottom label. Formatted text supported.
-                  "topLabel": "A String", # The text of the top label. Formatted text supported.
-                  "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                    "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                      "iconUrl": "A String", # The icon specified by a URL.
-                      "name": "A String", # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don't specify.
-                      "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                        "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          "parameters": [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              "key": "A String", # The name of the parameter for the action script.
-                              "value": "A String", # The value of the parameter.
-                            },
-                          ],
-                        },
-                        "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          "url": "A String", # The URL to open.
-                        },
-                      },
-                      "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                    },
-                    "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                      "text": "A String", # The text of the button.
-                      "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          "parameters": [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              "key": "A String", # The name of the parameter for the action script.
-                              "value": "A String", # The value of the parameter.
-                            },
-                          ],
-                        },
-                        "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          "url": "A String", # The URL to open.
-                        },
-                      },
-                    },
-                  },
-                  "content": "A String", # The text of the content. Formatted text supported and always required.
-                  "iconUrl": "A String", # The icon specified by a URL.
-                  "onClick": { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                      # are clickable.
-                    "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      "parameters": [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          "key": "A String", # The name of the parameter for the action script.
-                          "value": "A String", # The value of the parameter.
-                        },
-                      ],
-                    },
-                    "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      "url": "A String", # The URL to open.
-                    },
-                  },
-                  "icon": "A String", # An enum value that will be replaced by the Chat API with the
-                      # corresponding icon image.
-                },
-                "image": { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                  "aspectRatio": 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                      # to reserve the right height for the image while waiting for it to load.
-                      # It's not meant to override the native aspect ratio of the image.
-                      # If unset, the server fills it by prefetching the image.
-                  "imageUrl": "A String", # The URL of the image.
-                  "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                    "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      "parameters": [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          "key": "A String", # The name of the parameter for the action script.
-                          "value": "A String", # The value of the parameter.
-                        },
-                      ],
-                    },
-                    "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      "url": "A String", # The URL to open.
-                    },
-                  },
-                },
-                "textParagraph": { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                  "text": "A String",
-                },
-              },
-            ],
-            "header": "A String", # The header of the section, text formatted supported.
-          },
-        ],
-        "name": "A String", # Name of the card.
-        "header": { # The header of the card. A header usually contains a title and an image.
-          "imageStyle": "A String", # The image's type (e.g. square border or circular border).
-          "imageUrl": "A String", # The URL of the image in the card header.
-          "subtitle": "A String", # The subtitle of the card header.
-          "title": "A String", # The title must be specified. The header has a fixed height: if both a
-              # title and subtitle is specified, each will take up 1 line. If only the
-              # title is specified, it will take up both lines.
         },
+      ],
+      &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+        &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+        &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+        &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+        &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+            # title and subtitle is specified, each will take up 1 line. If only the
+            # title is specified, it will take up both lines.
       },
-    ],
-    "previewText": "A String", # Text for generating preview chips. This text will not be displayed to the
-        # user, but any links to images, web pages, videos, etc. included here will
-        # generate preview chips.
-    "annotations": [ # Output only. Annotations associated with the text in this message.
-      { # Annotations associated with the plain-text body of the message.
-          #
-          # Example plain-text message body:
-          # ```
-          # Hello @FooBot how are you!"
-          # ```
-          #
-          # The corresponding annotations metadata:
-          # ```
-          # "annotations":[{
-          #   "type":"USER_MENTION",
-          #   "startIndex":6,
-          #   "length":7,
-          #   "userMention": {
-          #     "user": {
-          #       "name":"users/107946847022116401880",
-          #       "displayName":"FooBot",
-          #       "avatarUrl":"https://goo.gl/aeDtrS",
-          #       "type":"BOT"
-          #     },
-          #     "type":"MENTION"
-          #    }
-          # }]
-          # ```
-        "userMention": { # Annotation metadata for user mentions (@). # The metadata of user mention.
-          "type": "A String", # The type of user mention.
-          "user": { # A user in Hangouts Chat. # The user mentioned.
-            "type": "A String", # User type.
-            "domainId": "A String", # Obfuscated domain information.
-            "displayName": "A String", # The user's display name.
-            "name": "A String", # Resource name, in the format "users/*".
-          },
-        },
-        "length": 42, # Length of the substring in the plain-text message body this annotation
-            # corresponds to.
-        "type": "A String", # The type of this annotation.
-        "startIndex": 42, # Start index (0-based, inclusive) in the plain-text message body this
-            # annotation corresponds to.
-      },
-    ],
-    "sender": { # A user in Hangouts Chat. # The user who created the message.
-      "type": "A String", # User type.
-      "domainId": "A String", # Obfuscated domain information.
-      "displayName": "A String", # The user's display name.
-      "name": "A String", # Resource name, in the format "users/*".
+      &quot;name&quot;: &quot;A String&quot;, # Name of the card.
     },
-  }
+  ],
+  &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+    &quot;type&quot;: &quot;A String&quot;, # User type.
+    &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+    &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+  },
+  &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+        #
+        # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
+  },
+  &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
+    { # Annotations associated with the plain-text body of the message.
+        #
+        # Example plain-text message body:
+        # ```
+        # Hello @FooBot how are you!&quot;
+        # ```
+        #
+        # The corresponding annotations metadata:
+        # ```
+        # &quot;annotations&quot;:[{
+        #   &quot;type&quot;:&quot;USER_MENTION&quot;,
+        #   &quot;startIndex&quot;:6,
+        #   &quot;length&quot;:7,
+        #   &quot;userMention&quot;: {
+        #     &quot;user&quot;: {
+        #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
+        #       &quot;displayName&quot;:&quot;FooBot&quot;,
+        #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
+        #       &quot;type&quot;:&quot;BOT&quot;
+        #     },
+        #     &quot;type&quot;:&quot;MENTION&quot;
+        #    }
+        # }]
+        # ```
+      &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+      &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+          # corresponds to.
+      &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+          # annotation corresponds to.
+      &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
+        &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
+        &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
+          &quot;type&quot;: &quot;A String&quot;, # User type.
+          &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+          &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+          &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+        },
+      },
+    },
+  ],
+  &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
+      # 
+      # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+  &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
+      # user, but any links to images, web pages, videos, etc. included here will
+      # generate preview chips.
+  &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+    &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
+        # This is deprecated. Use `single_user_bot_dm` instead.
+    &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
+    &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
+        #
+        # Example: spaces/AAAAMpdlehYs
+    &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
+    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+  },
+  &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+  &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+  &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+      # cannot be displayed (e.g. mobile notifications).
+  &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+      # posted.
+    &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+    &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+      # server.
+}
 
   threadKey: string, Opaque thread identifier string that can be specified to group messages
 into a single thread. If this is the first message with a given thread
@@ -424,313 +427,316 @@
   An object of the form:
 
     { # A message in Hangouts Chat.
-      "actionResponse": { # Parameters that a bot can use to configure how it's response is posted. # Input only. Parameters that a bot can use to configure how its response is
-          # posted.
-        "url": "A String", # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-        "type": "A String", # The type of bot response.
-      },
-      "name": "A String", # Resource name, in the form "spaces/*/messages/*".
-          #
-          # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
-      "thread": { # A thread in Hangouts Chat. # The thread the message belongs to.
-        "name": "A String", # Resource name, in the form "spaces/*/threads/*".
-            #
-            # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-      },
-      "space": { # A room or DM in Hangouts Chat. # The space the message belongs to.
-        "type": "A String", # Output only. The type of a space.
-        "displayName": "A String", # Output only. The display name (only if the space is a room).
-        "name": "A String", # Resource name of the space, in the form "spaces/*".
-            #
-            # Example: spaces/AAAAMpdlehYs
-      },
-      "text": "A String", # Plain-text body of the message.
-      "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards
-          # cannot be displayed (e.g. mobile notifications).
-      "createTime": "A String", # Output only. The time at which the message was created in Hangouts Chat
-          # server.
-      "argumentText": "A String", # Plain-text body of the message with all bot mentions stripped out.
-      "cards": [ # Rich, formatted and interactive cards that can be used to display UI
-          # elements such as: formatted texts, buttons, clickable images. Cards are
-          # normally displayed below the plain-text body of the message.
-        { # A card is a UI element that can contain UI widgets such as texts, images.
-          "cardActions": [ # The actions of this card.
-            { # A card action is
-                # the action associated with the card. For an invoice card, a
-                # typical action would be: delete invoice, email invoice or open the
-                # invoice in browser.
-              "actionLabel": "A String", # The label used to be displayed in the action menu item.
-              "onClick": { # An onclick action (e.g. open a link). # The onclick action for this action item.
-                "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                    # For example, an Apps Script can be invoked to handle the form.
-                  "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                      # form submission. This information is echoed back to the bot as part of
-                      # the card click event. The same method name can be used for several
-                      # elements that trigger a common behavior if desired.
-                  "parameters": [ # List of action parameters.
-                    { # List of string parameters to supply when the action method is invoked.
-                        # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                        # snooze next week. You might use action method = snooze(), passing the
-                        # snooze type and snooze time in the list of string parameters.
-                      "key": "A String", # The name of the parameter for the action script.
-                      "value": "A String", # The value of the parameter.
+    &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+        # elements such as: formatted texts, buttons, clickable images. Cards are
+        # normally displayed below the plain-text body of the message.
+      { # A card is a UI element that can contain UI widgets such as texts, images.
+        &quot;sections&quot;: [ # Sections are separated by a line divider.
+          { # A section contains a collection of widgets that are rendered
+              # (vertically) in the order that they are specified. Across all platforms,
+              # cards have a narrow fixed width, so
+              # there is currently no need for layout properties (e.g. float).
+            &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+            &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+              { # A widget is a UI element that presents texts, images, etc.
+                &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                  &quot;text&quot;: &quot;A String&quot;,
+                },
+                &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                    # element may also contain some actions such as onclick button.
+                  &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                  &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                  &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                  &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
                     },
-                  ],
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                    },
+                  },
+                  &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                  &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                      # corresponding icon image.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                      # are clickable.
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
                 },
-                "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                  "url": "A String", # The URL to open.
+                &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                  &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                      # to reserve the right height for the image while waiting for it to load.
+                      # It&#x27;s not meant to override the native aspect ratio of the image.
+                      # If unset, the server fills it by prefetching the image.
+                  &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                        },
+                      ],
+                    },
+                  },
                 },
+                &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                    # fields should be set.
+                  { # A button. Can be a text button or an image button.
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
+                    },
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                    },
+                  },
+                ],
+              },
+            ],
+          },
+        ],
+        &quot;cardActions&quot;: [ # The actions of this card.
+          { # A card action is
+              # the action associated with the card. For an invoice card, a
+              # typical action would be: delete invoice, email invoice or open the
+              # invoice in browser.
+            &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+            &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+              &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+              },
+              &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                  # For example, an Apps Script can be invoked to handle the form.
+                &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                    # form submission. This information is echoed back to the bot as part of
+                    # the card click event. The same method name can be used for several
+                    # elements that trigger a common behavior if desired.
+                &quot;parameters&quot;: [ # List of action parameters.
+                  { # List of string parameters to supply when the action method is invoked.
+                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                      # snooze next week. You might use action method = snooze(), passing the
+                      # snooze type and snooze time in the list of string parameters.
+                    &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                  },
+                ],
               },
             },
-          ],
-          "sections": [ # Sections are separated by a line divider.
-            { # A section contains a collection of widgets that are rendered
-                # (vertically) in the order that they are specified. Across all platforms,
-                # cards have a narrow fixed width, so
-                # there is currently no need for layout properties (e.g. float).
-              "widgets": [ # A section must contain at least 1 widget.
-                { # A widget is a UI element that presents texts, images, etc.
-                  "buttons": [ # A list of buttons. Buttons is also oneof data and only one of these
-                      # fields should be set.
-                    { # A button. Can be a text button or an image button.
-                      "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                        "iconUrl": "A String", # The icon specified by a URL.
-                        "name": "A String", # The name of this image_button which will be used for accessibility.
-                            # Default value will be provided if developers don't specify.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                        "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                            # API.
-                      },
-                      "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                        "text": "A String", # The text of the button.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                      },
-                    },
-                  ],
-                  "keyValue": { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                      # element may also contain some actions such as onclick button.
-                    "contentMultiline": True or False, # If the content should be multiline.
-                    "bottomLabel": "A String", # The text of the bottom label. Formatted text supported.
-                    "topLabel": "A String", # The text of the top label. Formatted text supported.
-                    "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                      "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                        "iconUrl": "A String", # The icon specified by a URL.
-                        "name": "A String", # The name of this image_button which will be used for accessibility.
-                            # Default value will be provided if developers don't specify.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                        "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                            # API.
-                      },
-                      "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                        "text": "A String", # The text of the button.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                      },
-                    },
-                    "content": "A String", # The text of the content. Formatted text supported and always required.
-                    "iconUrl": "A String", # The icon specified by a URL.
-                    "onClick": { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                        # are clickable.
-                      "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        "parameters": [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            "key": "A String", # The name of the parameter for the action script.
-                            "value": "A String", # The value of the parameter.
-                          },
-                        ],
-                      },
-                      "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        "url": "A String", # The URL to open.
-                      },
-                    },
-                    "icon": "A String", # An enum value that will be replaced by the Chat API with the
-                        # corresponding icon image.
-                  },
-                  "image": { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                    "aspectRatio": 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                        # to reserve the right height for the image while waiting for it to load.
-                        # It's not meant to override the native aspect ratio of the image.
-                        # If unset, the server fills it by prefetching the image.
-                    "imageUrl": "A String", # The URL of the image.
-                    "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                      "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        "parameters": [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            "key": "A String", # The name of the parameter for the action script.
-                            "value": "A String", # The value of the parameter.
-                          },
-                        ],
-                      },
-                      "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        "url": "A String", # The URL to open.
-                      },
-                    },
-                  },
-                  "textParagraph": { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                    "text": "A String",
-                  },
-                },
-              ],
-              "header": "A String", # The header of the section, text formatted supported.
-            },
-          ],
-          "name": "A String", # Name of the card.
-          "header": { # The header of the card. A header usually contains a title and an image.
-            "imageStyle": "A String", # The image's type (e.g. square border or circular border).
-            "imageUrl": "A String", # The URL of the image in the card header.
-            "subtitle": "A String", # The subtitle of the card header.
-            "title": "A String", # The title must be specified. The header has a fixed height: if both a
-                # title and subtitle is specified, each will take up 1 line. If only the
-                # title is specified, it will take up both lines.
           },
+        ],
+        &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+          &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+          &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+          &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+          &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+              # title and subtitle is specified, each will take up 1 line. If only the
+              # title is specified, it will take up both lines.
         },
-      ],
-      "previewText": "A String", # Text for generating preview chips. This text will not be displayed to the
-          # user, but any links to images, web pages, videos, etc. included here will
-          # generate preview chips.
-      "annotations": [ # Output only. Annotations associated with the text in this message.
-        { # Annotations associated with the plain-text body of the message.
-            #
-            # Example plain-text message body:
-            # ```
-            # Hello @FooBot how are you!"
-            # ```
-            #
-            # The corresponding annotations metadata:
-            # ```
-            # "annotations":[{
-            #   "type":"USER_MENTION",
-            #   "startIndex":6,
-            #   "length":7,
-            #   "userMention": {
-            #     "user": {
-            #       "name":"users/107946847022116401880",
-            #       "displayName":"FooBot",
-            #       "avatarUrl":"https://goo.gl/aeDtrS",
-            #       "type":"BOT"
-            #     },
-            #     "type":"MENTION"
-            #    }
-            # }]
-            # ```
-          "userMention": { # Annotation metadata for user mentions (@). # The metadata of user mention.
-            "type": "A String", # The type of user mention.
-            "user": { # A user in Hangouts Chat. # The user mentioned.
-              "type": "A String", # User type.
-              "domainId": "A String", # Obfuscated domain information.
-              "displayName": "A String", # The user's display name.
-              "name": "A String", # Resource name, in the format "users/*".
-            },
-          },
-          "length": 42, # Length of the substring in the plain-text message body this annotation
-              # corresponds to.
-          "type": "A String", # The type of this annotation.
-          "startIndex": 42, # Start index (0-based, inclusive) in the plain-text message body this
-              # annotation corresponds to.
-        },
-      ],
-      "sender": { # A user in Hangouts Chat. # The user who created the message.
-        "type": "A String", # User type.
-        "domainId": "A String", # Obfuscated domain information.
-        "displayName": "A String", # The user's display name.
-        "name": "A String", # Resource name, in the format "users/*".
+        &quot;name&quot;: &quot;A String&quot;, # Name of the card.
       },
-    }</pre>
+    ],
+    &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+      &quot;type&quot;: &quot;A String&quot;, # User type.
+      &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+      &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+    },
+    &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
+    },
+    &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
+      { # Annotations associated with the plain-text body of the message.
+          #
+          # Example plain-text message body:
+          # ```
+          # Hello @FooBot how are you!&quot;
+          # ```
+          #
+          # The corresponding annotations metadata:
+          # ```
+          # &quot;annotations&quot;:[{
+          #   &quot;type&quot;:&quot;USER_MENTION&quot;,
+          #   &quot;startIndex&quot;:6,
+          #   &quot;length&quot;:7,
+          #   &quot;userMention&quot;: {
+          #     &quot;user&quot;: {
+          #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
+          #       &quot;displayName&quot;:&quot;FooBot&quot;,
+          #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
+          #       &quot;type&quot;:&quot;BOT&quot;
+          #     },
+          #     &quot;type&quot;:&quot;MENTION&quot;
+          #    }
+          # }]
+          # ```
+        &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+        &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+            # corresponds to.
+        &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+            # annotation corresponds to.
+        &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
+          &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
+          &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
+            &quot;type&quot;: &quot;A String&quot;, # User type.
+            &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+            &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+            &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+          },
+        },
+      },
+    ],
+    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
+        #
+        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+    &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
+        # user, but any links to images, web pages, videos, etc. included here will
+        # generate preview chips.
+    &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+      &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
+          # This is deprecated. Use `single_user_bot_dm` instead.
+      &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehYs
+      &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+    },
+    &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+    &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+    &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+        # cannot be displayed (e.g. mobile notifications).
+    &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+        # posted.
+      &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+      &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+        # server.
+  }</pre>
 </div>
 
 <div class="method">
@@ -739,7 +745,7 @@
 
 Args:
   name: string, Required. Resource name of the message to be deleted, in the form
-"spaces/*/messages/*"
+&quot;spaces/*/messages/*&quot;
 
 Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 (required)
   x__xgafv: string, V1 error format.
@@ -768,7 +774,7 @@
 
 Args:
   name: string, Required. Resource name of the message to be retrieved, in the form
-"spaces/*/messages/*".
+&quot;spaces/*/messages/*&quot;.
 
 Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 (required)
   x__xgafv: string, V1 error format.
@@ -780,313 +786,316 @@
   An object of the form:
 
     { # A message in Hangouts Chat.
-      "actionResponse": { # Parameters that a bot can use to configure how it's response is posted. # Input only. Parameters that a bot can use to configure how its response is
-          # posted.
-        "url": "A String", # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-        "type": "A String", # The type of bot response.
-      },
-      "name": "A String", # Resource name, in the form "spaces/*/messages/*".
-          #
-          # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
-      "thread": { # A thread in Hangouts Chat. # The thread the message belongs to.
-        "name": "A String", # Resource name, in the form "spaces/*/threads/*".
-            #
-            # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-      },
-      "space": { # A room or DM in Hangouts Chat. # The space the message belongs to.
-        "type": "A String", # Output only. The type of a space.
-        "displayName": "A String", # Output only. The display name (only if the space is a room).
-        "name": "A String", # Resource name of the space, in the form "spaces/*".
-            #
-            # Example: spaces/AAAAMpdlehYs
-      },
-      "text": "A String", # Plain-text body of the message.
-      "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards
-          # cannot be displayed (e.g. mobile notifications).
-      "createTime": "A String", # Output only. The time at which the message was created in Hangouts Chat
-          # server.
-      "argumentText": "A String", # Plain-text body of the message with all bot mentions stripped out.
-      "cards": [ # Rich, formatted and interactive cards that can be used to display UI
-          # elements such as: formatted texts, buttons, clickable images. Cards are
-          # normally displayed below the plain-text body of the message.
-        { # A card is a UI element that can contain UI widgets such as texts, images.
-          "cardActions": [ # The actions of this card.
-            { # A card action is
-                # the action associated with the card. For an invoice card, a
-                # typical action would be: delete invoice, email invoice or open the
-                # invoice in browser.
-              "actionLabel": "A String", # The label used to be displayed in the action menu item.
-              "onClick": { # An onclick action (e.g. open a link). # The onclick action for this action item.
-                "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                    # For example, an Apps Script can be invoked to handle the form.
-                  "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                      # form submission. This information is echoed back to the bot as part of
-                      # the card click event. The same method name can be used for several
-                      # elements that trigger a common behavior if desired.
-                  "parameters": [ # List of action parameters.
-                    { # List of string parameters to supply when the action method is invoked.
-                        # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                        # snooze next week. You might use action method = snooze(), passing the
-                        # snooze type and snooze time in the list of string parameters.
-                      "key": "A String", # The name of the parameter for the action script.
-                      "value": "A String", # The value of the parameter.
+    &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+        # elements such as: formatted texts, buttons, clickable images. Cards are
+        # normally displayed below the plain-text body of the message.
+      { # A card is a UI element that can contain UI widgets such as texts, images.
+        &quot;sections&quot;: [ # Sections are separated by a line divider.
+          { # A section contains a collection of widgets that are rendered
+              # (vertically) in the order that they are specified. Across all platforms,
+              # cards have a narrow fixed width, so
+              # there is currently no need for layout properties (e.g. float).
+            &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+            &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+              { # A widget is a UI element that presents texts, images, etc.
+                &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                  &quot;text&quot;: &quot;A String&quot;,
+                },
+                &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                    # element may also contain some actions such as onclick button.
+                  &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                  &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                  &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                  &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
                     },
-                  ],
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                    },
+                  },
+                  &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                  &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                      # corresponding icon image.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                      # are clickable.
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
                 },
-                "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                  "url": "A String", # The URL to open.
+                &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                  &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                      # to reserve the right height for the image while waiting for it to load.
+                      # It&#x27;s not meant to override the native aspect ratio of the image.
+                      # If unset, the server fills it by prefetching the image.
+                  &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                        },
+                      ],
+                    },
+                  },
                 },
+                &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                    # fields should be set.
+                  { # A button. Can be a text button or an image button.
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
+                    },
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                    },
+                  },
+                ],
+              },
+            ],
+          },
+        ],
+        &quot;cardActions&quot;: [ # The actions of this card.
+          { # A card action is
+              # the action associated with the card. For an invoice card, a
+              # typical action would be: delete invoice, email invoice or open the
+              # invoice in browser.
+            &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+            &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+              &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+              },
+              &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                  # For example, an Apps Script can be invoked to handle the form.
+                &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                    # form submission. This information is echoed back to the bot as part of
+                    # the card click event. The same method name can be used for several
+                    # elements that trigger a common behavior if desired.
+                &quot;parameters&quot;: [ # List of action parameters.
+                  { # List of string parameters to supply when the action method is invoked.
+                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                      # snooze next week. You might use action method = snooze(), passing the
+                      # snooze type and snooze time in the list of string parameters.
+                    &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                  },
+                ],
               },
             },
-          ],
-          "sections": [ # Sections are separated by a line divider.
-            { # A section contains a collection of widgets that are rendered
-                # (vertically) in the order that they are specified. Across all platforms,
-                # cards have a narrow fixed width, so
-                # there is currently no need for layout properties (e.g. float).
-              "widgets": [ # A section must contain at least 1 widget.
-                { # A widget is a UI element that presents texts, images, etc.
-                  "buttons": [ # A list of buttons. Buttons is also oneof data and only one of these
-                      # fields should be set.
-                    { # A button. Can be a text button or an image button.
-                      "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                        "iconUrl": "A String", # The icon specified by a URL.
-                        "name": "A String", # The name of this image_button which will be used for accessibility.
-                            # Default value will be provided if developers don't specify.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                        "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                            # API.
-                      },
-                      "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                        "text": "A String", # The text of the button.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                      },
-                    },
-                  ],
-                  "keyValue": { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                      # element may also contain some actions such as onclick button.
-                    "contentMultiline": True or False, # If the content should be multiline.
-                    "bottomLabel": "A String", # The text of the bottom label. Formatted text supported.
-                    "topLabel": "A String", # The text of the top label. Formatted text supported.
-                    "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                      "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                        "iconUrl": "A String", # The icon specified by a URL.
-                        "name": "A String", # The name of this image_button which will be used for accessibility.
-                            # Default value will be provided if developers don't specify.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                        "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                            # API.
-                      },
-                      "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                        "text": "A String", # The text of the button.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                      },
-                    },
-                    "content": "A String", # The text of the content. Formatted text supported and always required.
-                    "iconUrl": "A String", # The icon specified by a URL.
-                    "onClick": { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                        # are clickable.
-                      "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        "parameters": [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            "key": "A String", # The name of the parameter for the action script.
-                            "value": "A String", # The value of the parameter.
-                          },
-                        ],
-                      },
-                      "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        "url": "A String", # The URL to open.
-                      },
-                    },
-                    "icon": "A String", # An enum value that will be replaced by the Chat API with the
-                        # corresponding icon image.
-                  },
-                  "image": { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                    "aspectRatio": 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                        # to reserve the right height for the image while waiting for it to load.
-                        # It's not meant to override the native aspect ratio of the image.
-                        # If unset, the server fills it by prefetching the image.
-                    "imageUrl": "A String", # The URL of the image.
-                    "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                      "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        "parameters": [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            "key": "A String", # The name of the parameter for the action script.
-                            "value": "A String", # The value of the parameter.
-                          },
-                        ],
-                      },
-                      "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        "url": "A String", # The URL to open.
-                      },
-                    },
-                  },
-                  "textParagraph": { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                    "text": "A String",
-                  },
-                },
-              ],
-              "header": "A String", # The header of the section, text formatted supported.
-            },
-          ],
-          "name": "A String", # Name of the card.
-          "header": { # The header of the card. A header usually contains a title and an image.
-            "imageStyle": "A String", # The image's type (e.g. square border or circular border).
-            "imageUrl": "A String", # The URL of the image in the card header.
-            "subtitle": "A String", # The subtitle of the card header.
-            "title": "A String", # The title must be specified. The header has a fixed height: if both a
-                # title and subtitle is specified, each will take up 1 line. If only the
-                # title is specified, it will take up both lines.
           },
+        ],
+        &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+          &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+          &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+          &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+          &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+              # title and subtitle is specified, each will take up 1 line. If only the
+              # title is specified, it will take up both lines.
         },
-      ],
-      "previewText": "A String", # Text for generating preview chips. This text will not be displayed to the
-          # user, but any links to images, web pages, videos, etc. included here will
-          # generate preview chips.
-      "annotations": [ # Output only. Annotations associated with the text in this message.
-        { # Annotations associated with the plain-text body of the message.
-            #
-            # Example plain-text message body:
-            # ```
-            # Hello @FooBot how are you!"
-            # ```
-            #
-            # The corresponding annotations metadata:
-            # ```
-            # "annotations":[{
-            #   "type":"USER_MENTION",
-            #   "startIndex":6,
-            #   "length":7,
-            #   "userMention": {
-            #     "user": {
-            #       "name":"users/107946847022116401880",
-            #       "displayName":"FooBot",
-            #       "avatarUrl":"https://goo.gl/aeDtrS",
-            #       "type":"BOT"
-            #     },
-            #     "type":"MENTION"
-            #    }
-            # }]
-            # ```
-          "userMention": { # Annotation metadata for user mentions (@). # The metadata of user mention.
-            "type": "A String", # The type of user mention.
-            "user": { # A user in Hangouts Chat. # The user mentioned.
-              "type": "A String", # User type.
-              "domainId": "A String", # Obfuscated domain information.
-              "displayName": "A String", # The user's display name.
-              "name": "A String", # Resource name, in the format "users/*".
-            },
-          },
-          "length": 42, # Length of the substring in the plain-text message body this annotation
-              # corresponds to.
-          "type": "A String", # The type of this annotation.
-          "startIndex": 42, # Start index (0-based, inclusive) in the plain-text message body this
-              # annotation corresponds to.
-        },
-      ],
-      "sender": { # A user in Hangouts Chat. # The user who created the message.
-        "type": "A String", # User type.
-        "domainId": "A String", # Obfuscated domain information.
-        "displayName": "A String", # The user's display name.
-        "name": "A String", # Resource name, in the format "users/*".
+        &quot;name&quot;: &quot;A String&quot;, # Name of the card.
       },
-    }</pre>
+    ],
+    &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+      &quot;type&quot;: &quot;A String&quot;, # User type.
+      &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+      &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+    },
+    &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
+    },
+    &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
+      { # Annotations associated with the plain-text body of the message.
+          #
+          # Example plain-text message body:
+          # ```
+          # Hello @FooBot how are you!&quot;
+          # ```
+          #
+          # The corresponding annotations metadata:
+          # ```
+          # &quot;annotations&quot;:[{
+          #   &quot;type&quot;:&quot;USER_MENTION&quot;,
+          #   &quot;startIndex&quot;:6,
+          #   &quot;length&quot;:7,
+          #   &quot;userMention&quot;: {
+          #     &quot;user&quot;: {
+          #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
+          #       &quot;displayName&quot;:&quot;FooBot&quot;,
+          #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
+          #       &quot;type&quot;:&quot;BOT&quot;
+          #     },
+          #     &quot;type&quot;:&quot;MENTION&quot;
+          #    }
+          # }]
+          # ```
+        &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+        &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+            # corresponds to.
+        &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+            # annotation corresponds to.
+        &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
+          &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
+          &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
+            &quot;type&quot;: &quot;A String&quot;, # User type.
+            &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+            &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+            &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+          },
+        },
+      },
+    ],
+    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
+        #
+        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+    &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
+        # user, but any links to images, web pages, videos, etc. included here will
+        # generate preview chips.
+    &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+      &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
+          # This is deprecated. Use `single_user_bot_dm` instead.
+      &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehYs
+      &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+    },
+    &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+    &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+    &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+        # cannot be displayed (e.g. mobile notifications).
+    &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+        # posted.
+      &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+      &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+        # server.
+  }</pre>
 </div>
 
 <div class="method">
@@ -1094,320 +1103,323 @@
   <pre>Updates a message.
 
 Args:
-  name: string, Resource name, in the form "spaces/*/messages/*".
+  name: string, Resource name, in the form &quot;spaces/*/messages/*&quot;.
 
 Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 (required)
   body: object, The request body.
     The object takes the form of:
 
 { # A message in Hangouts Chat.
-    "actionResponse": { # Parameters that a bot can use to configure how it's response is posted. # Input only. Parameters that a bot can use to configure how its response is
-        # posted.
-      "url": "A String", # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-      "type": "A String", # The type of bot response.
-    },
-    "name": "A String", # Resource name, in the form "spaces/*/messages/*".
-        # 
-        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
-    "thread": { # A thread in Hangouts Chat. # The thread the message belongs to.
-      "name": "A String", # Resource name, in the form "spaces/*/threads/*".
-          #
-          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-    },
-    "space": { # A room or DM in Hangouts Chat. # The space the message belongs to.
-      "type": "A String", # Output only. The type of a space.
-      "displayName": "A String", # Output only. The display name (only if the space is a room).
-      "name": "A String", # Resource name of the space, in the form "spaces/*".
-          #
-          # Example: spaces/AAAAMpdlehYs
-    },
-    "text": "A String", # Plain-text body of the message.
-    "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards
-        # cannot be displayed (e.g. mobile notifications).
-    "createTime": "A String", # Output only. The time at which the message was created in Hangouts Chat
-        # server.
-    "argumentText": "A String", # Plain-text body of the message with all bot mentions stripped out.
-    "cards": [ # Rich, formatted and interactive cards that can be used to display UI
-        # elements such as: formatted texts, buttons, clickable images. Cards are
-        # normally displayed below the plain-text body of the message.
-      { # A card is a UI element that can contain UI widgets such as texts, images.
-        "cardActions": [ # The actions of this card.
-          { # A card action is
-              # the action associated with the card. For an invoice card, a
-              # typical action would be: delete invoice, email invoice or open the
-              # invoice in browser.
-            "actionLabel": "A String", # The label used to be displayed in the action menu item.
-            "onClick": { # An onclick action (e.g. open a link). # The onclick action for this action item.
-              "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                  # For example, an Apps Script can be invoked to handle the form.
-                "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                    # form submission. This information is echoed back to the bot as part of
-                    # the card click event. The same method name can be used for several
-                    # elements that trigger a common behavior if desired.
-                "parameters": [ # List of action parameters.
-                  { # List of string parameters to supply when the action method is invoked.
-                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                      # snooze next week. You might use action method = snooze(), passing the
-                      # snooze type and snooze time in the list of string parameters.
-                    "key": "A String", # The name of the parameter for the action script.
-                    "value": "A String", # The value of the parameter.
+  &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+      # elements such as: formatted texts, buttons, clickable images. Cards are
+      # normally displayed below the plain-text body of the message.
+    { # A card is a UI element that can contain UI widgets such as texts, images.
+      &quot;sections&quot;: [ # Sections are separated by a line divider.
+        { # A section contains a collection of widgets that are rendered
+            # (vertically) in the order that they are specified. Across all platforms,
+            # cards have a narrow fixed width, so
+            # there is currently no need for layout properties (e.g. float).
+          &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+          &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+            { # A widget is a UI element that presents texts, images, etc.
+              &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                &quot;text&quot;: &quot;A String&quot;,
+              },
+              &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                  # element may also contain some actions such as onclick button.
+                &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                  &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                    &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          },
+                        ],
+                      },
+                    },
                   },
-                ],
+                  &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                    &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                        # API.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                    &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                        # Default value will be provided if developers don&#x27;t specify.
+                  },
+                },
+                &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                    # corresponding icon image.
+                &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                    # are clickable.
+                  &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                    &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                  },
+                  &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                      # For example, an Apps Script can be invoked to handle the form.
+                    &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                        # form submission. This information is echoed back to the bot as part of
+                        # the card click event. The same method name can be used for several
+                        # elements that trigger a common behavior if desired.
+                    &quot;parameters&quot;: [ # List of action parameters.
+                      { # List of string parameters to supply when the action method is invoked.
+                          # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                          # snooze next week. You might use action method = snooze(), passing the
+                          # snooze type and snooze time in the list of string parameters.
+                        &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                        &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                      },
+                    ],
+                  },
+                },
+                &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
               },
-              "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                "url": "A String", # The URL to open.
+              &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                    # to reserve the right height for the image while waiting for it to load.
+                    # It&#x27;s not meant to override the native aspect ratio of the image.
+                    # If unset, the server fills it by prefetching the image.
+                &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                  &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                    &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                  },
+                  &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                      # For example, an Apps Script can be invoked to handle the form.
+                    &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                        # form submission. This information is echoed back to the bot as part of
+                        # the card click event. The same method name can be used for several
+                        # elements that trigger a common behavior if desired.
+                    &quot;parameters&quot;: [ # List of action parameters.
+                      { # List of string parameters to supply when the action method is invoked.
+                          # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                          # snooze next week. You might use action method = snooze(), passing the
+                          # snooze type and snooze time in the list of string parameters.
+                        &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                        &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                      },
+                    ],
+                  },
+                },
               },
+              &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                  # fields should be set.
+                { # A button. Can be a text button or an image button.
+                  &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                    &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          },
+                        ],
+                      },
+                    },
+                  },
+                  &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                    &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                        # API.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                    &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                        # Default value will be provided if developers don&#x27;t specify.
+                  },
+                },
+              ],
+            },
+          ],
+        },
+      ],
+      &quot;cardActions&quot;: [ # The actions of this card.
+        { # A card action is
+            # the action associated with the card. For an invoice card, a
+            # typical action would be: delete invoice, email invoice or open the
+            # invoice in browser.
+          &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+          &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+            &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+              &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+            },
+            &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                # For example, an Apps Script can be invoked to handle the form.
+              &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                  # form submission. This information is echoed back to the bot as part of
+                  # the card click event. The same method name can be used for several
+                  # elements that trigger a common behavior if desired.
+              &quot;parameters&quot;: [ # List of action parameters.
+                { # List of string parameters to supply when the action method is invoked.
+                    # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                    # snooze next week. You might use action method = snooze(), passing the
+                    # snooze type and snooze time in the list of string parameters.
+                  &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                },
+              ],
             },
           },
-        ],
-        "sections": [ # Sections are separated by a line divider.
-          { # A section contains a collection of widgets that are rendered
-              # (vertically) in the order that they are specified. Across all platforms,
-              # cards have a narrow fixed width, so
-              # there is currently no need for layout properties (e.g. float).
-            "widgets": [ # A section must contain at least 1 widget.
-              { # A widget is a UI element that presents texts, images, etc.
-                "buttons": [ # A list of buttons. Buttons is also oneof data and only one of these
-                    # fields should be set.
-                  { # A button. Can be a text button or an image button.
-                    "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                      "iconUrl": "A String", # The icon specified by a URL.
-                      "name": "A String", # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don't specify.
-                      "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                        "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          "parameters": [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              "key": "A String", # The name of the parameter for the action script.
-                              "value": "A String", # The value of the parameter.
-                            },
-                          ],
-                        },
-                        "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          "url": "A String", # The URL to open.
-                        },
-                      },
-                      "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                    },
-                    "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                      "text": "A String", # The text of the button.
-                      "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          "parameters": [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              "key": "A String", # The name of the parameter for the action script.
-                              "value": "A String", # The value of the parameter.
-                            },
-                          ],
-                        },
-                        "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          "url": "A String", # The URL to open.
-                        },
-                      },
-                    },
-                  },
-                ],
-                "keyValue": { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                    # element may also contain some actions such as onclick button.
-                  "contentMultiline": True or False, # If the content should be multiline.
-                  "bottomLabel": "A String", # The text of the bottom label. Formatted text supported.
-                  "topLabel": "A String", # The text of the top label. Formatted text supported.
-                  "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                    "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                      "iconUrl": "A String", # The icon specified by a URL.
-                      "name": "A String", # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don't specify.
-                      "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                        "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          "parameters": [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              "key": "A String", # The name of the parameter for the action script.
-                              "value": "A String", # The value of the parameter.
-                            },
-                          ],
-                        },
-                        "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          "url": "A String", # The URL to open.
-                        },
-                      },
-                      "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                    },
-                    "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                      "text": "A String", # The text of the button.
-                      "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          "parameters": [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              "key": "A String", # The name of the parameter for the action script.
-                              "value": "A String", # The value of the parameter.
-                            },
-                          ],
-                        },
-                        "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          "url": "A String", # The URL to open.
-                        },
-                      },
-                    },
-                  },
-                  "content": "A String", # The text of the content. Formatted text supported and always required.
-                  "iconUrl": "A String", # The icon specified by a URL.
-                  "onClick": { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                      # are clickable.
-                    "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      "parameters": [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          "key": "A String", # The name of the parameter for the action script.
-                          "value": "A String", # The value of the parameter.
-                        },
-                      ],
-                    },
-                    "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      "url": "A String", # The URL to open.
-                    },
-                  },
-                  "icon": "A String", # An enum value that will be replaced by the Chat API with the
-                      # corresponding icon image.
-                },
-                "image": { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                  "aspectRatio": 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                      # to reserve the right height for the image while waiting for it to load.
-                      # It's not meant to override the native aspect ratio of the image.
-                      # If unset, the server fills it by prefetching the image.
-                  "imageUrl": "A String", # The URL of the image.
-                  "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                    "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      "parameters": [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          "key": "A String", # The name of the parameter for the action script.
-                          "value": "A String", # The value of the parameter.
-                        },
-                      ],
-                    },
-                    "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      "url": "A String", # The URL to open.
-                    },
-                  },
-                },
-                "textParagraph": { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                  "text": "A String",
-                },
-              },
-            ],
-            "header": "A String", # The header of the section, text formatted supported.
-          },
-        ],
-        "name": "A String", # Name of the card.
-        "header": { # The header of the card. A header usually contains a title and an image.
-          "imageStyle": "A String", # The image's type (e.g. square border or circular border).
-          "imageUrl": "A String", # The URL of the image in the card header.
-          "subtitle": "A String", # The subtitle of the card header.
-          "title": "A String", # The title must be specified. The header has a fixed height: if both a
-              # title and subtitle is specified, each will take up 1 line. If only the
-              # title is specified, it will take up both lines.
         },
+      ],
+      &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+        &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+        &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+        &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+        &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+            # title and subtitle is specified, each will take up 1 line. If only the
+            # title is specified, it will take up both lines.
       },
-    ],
-    "previewText": "A String", # Text for generating preview chips. This text will not be displayed to the
-        # user, but any links to images, web pages, videos, etc. included here will
-        # generate preview chips.
-    "annotations": [ # Output only. Annotations associated with the text in this message.
-      { # Annotations associated with the plain-text body of the message.
-          #
-          # Example plain-text message body:
-          # ```
-          # Hello @FooBot how are you!"
-          # ```
-          #
-          # The corresponding annotations metadata:
-          # ```
-          # "annotations":[{
-          #   "type":"USER_MENTION",
-          #   "startIndex":6,
-          #   "length":7,
-          #   "userMention": {
-          #     "user": {
-          #       "name":"users/107946847022116401880",
-          #       "displayName":"FooBot",
-          #       "avatarUrl":"https://goo.gl/aeDtrS",
-          #       "type":"BOT"
-          #     },
-          #     "type":"MENTION"
-          #    }
-          # }]
-          # ```
-        "userMention": { # Annotation metadata for user mentions (@). # The metadata of user mention.
-          "type": "A String", # The type of user mention.
-          "user": { # A user in Hangouts Chat. # The user mentioned.
-            "type": "A String", # User type.
-            "domainId": "A String", # Obfuscated domain information.
-            "displayName": "A String", # The user's display name.
-            "name": "A String", # Resource name, in the format "users/*".
-          },
-        },
-        "length": 42, # Length of the substring in the plain-text message body this annotation
-            # corresponds to.
-        "type": "A String", # The type of this annotation.
-        "startIndex": 42, # Start index (0-based, inclusive) in the plain-text message body this
-            # annotation corresponds to.
-      },
-    ],
-    "sender": { # A user in Hangouts Chat. # The user who created the message.
-      "type": "A String", # User type.
-      "domainId": "A String", # Obfuscated domain information.
-      "displayName": "A String", # The user's display name.
-      "name": "A String", # Resource name, in the format "users/*".
+      &quot;name&quot;: &quot;A String&quot;, # Name of the card.
     },
-  }
+  ],
+  &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+    &quot;type&quot;: &quot;A String&quot;, # User type.
+    &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+    &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+  },
+  &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+        #
+        # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
+  },
+  &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
+    { # Annotations associated with the plain-text body of the message.
+        #
+        # Example plain-text message body:
+        # ```
+        # Hello @FooBot how are you!&quot;
+        # ```
+        #
+        # The corresponding annotations metadata:
+        # ```
+        # &quot;annotations&quot;:[{
+        #   &quot;type&quot;:&quot;USER_MENTION&quot;,
+        #   &quot;startIndex&quot;:6,
+        #   &quot;length&quot;:7,
+        #   &quot;userMention&quot;: {
+        #     &quot;user&quot;: {
+        #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
+        #       &quot;displayName&quot;:&quot;FooBot&quot;,
+        #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
+        #       &quot;type&quot;:&quot;BOT&quot;
+        #     },
+        #     &quot;type&quot;:&quot;MENTION&quot;
+        #    }
+        # }]
+        # ```
+      &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+      &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+          # corresponds to.
+      &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+          # annotation corresponds to.
+      &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
+        &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
+        &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
+          &quot;type&quot;: &quot;A String&quot;, # User type.
+          &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+          &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+          &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+        },
+      },
+    },
+  ],
+  &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
+      # 
+      # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+  &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
+      # user, but any links to images, web pages, videos, etc. included here will
+      # generate preview chips.
+  &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+    &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
+        # This is deprecated. Use `single_user_bot_dm` instead.
+    &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
+    &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
+        #
+        # Example: spaces/AAAAMpdlehYs
+    &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
+    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+  },
+  &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+  &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+  &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+      # cannot be displayed (e.g. mobile notifications).
+  &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+      # posted.
+    &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+    &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+      # server.
+}
 
   updateMask: string, Required. The field paths to be updated, comma separated if there are
 multiple.
@@ -1424,313 +1436,316 @@
   An object of the form:
 
     { # A message in Hangouts Chat.
-      "actionResponse": { # Parameters that a bot can use to configure how it's response is posted. # Input only. Parameters that a bot can use to configure how its response is
-          # posted.
-        "url": "A String", # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-        "type": "A String", # The type of bot response.
-      },
-      "name": "A String", # Resource name, in the form "spaces/*/messages/*".
-          #
-          # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
-      "thread": { # A thread in Hangouts Chat. # The thread the message belongs to.
-        "name": "A String", # Resource name, in the form "spaces/*/threads/*".
-            #
-            # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-      },
-      "space": { # A room or DM in Hangouts Chat. # The space the message belongs to.
-        "type": "A String", # Output only. The type of a space.
-        "displayName": "A String", # Output only. The display name (only if the space is a room).
-        "name": "A String", # Resource name of the space, in the form "spaces/*".
-            #
-            # Example: spaces/AAAAMpdlehYs
-      },
-      "text": "A String", # Plain-text body of the message.
-      "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards
-          # cannot be displayed (e.g. mobile notifications).
-      "createTime": "A String", # Output only. The time at which the message was created in Hangouts Chat
-          # server.
-      "argumentText": "A String", # Plain-text body of the message with all bot mentions stripped out.
-      "cards": [ # Rich, formatted and interactive cards that can be used to display UI
-          # elements such as: formatted texts, buttons, clickable images. Cards are
-          # normally displayed below the plain-text body of the message.
-        { # A card is a UI element that can contain UI widgets such as texts, images.
-          "cardActions": [ # The actions of this card.
-            { # A card action is
-                # the action associated with the card. For an invoice card, a
-                # typical action would be: delete invoice, email invoice or open the
-                # invoice in browser.
-              "actionLabel": "A String", # The label used to be displayed in the action menu item.
-              "onClick": { # An onclick action (e.g. open a link). # The onclick action for this action item.
-                "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                    # For example, an Apps Script can be invoked to handle the form.
-                  "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                      # form submission. This information is echoed back to the bot as part of
-                      # the card click event. The same method name can be used for several
-                      # elements that trigger a common behavior if desired.
-                  "parameters": [ # List of action parameters.
-                    { # List of string parameters to supply when the action method is invoked.
-                        # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                        # snooze next week. You might use action method = snooze(), passing the
-                        # snooze type and snooze time in the list of string parameters.
-                      "key": "A String", # The name of the parameter for the action script.
-                      "value": "A String", # The value of the parameter.
+    &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+        # elements such as: formatted texts, buttons, clickable images. Cards are
+        # normally displayed below the plain-text body of the message.
+      { # A card is a UI element that can contain UI widgets such as texts, images.
+        &quot;sections&quot;: [ # Sections are separated by a line divider.
+          { # A section contains a collection of widgets that are rendered
+              # (vertically) in the order that they are specified. Across all platforms,
+              # cards have a narrow fixed width, so
+              # there is currently no need for layout properties (e.g. float).
+            &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+            &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+              { # A widget is a UI element that presents texts, images, etc.
+                &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                  &quot;text&quot;: &quot;A String&quot;,
+                },
+                &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                    # element may also contain some actions such as onclick button.
+                  &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                  &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                  &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                  &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
                     },
-                  ],
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                    },
+                  },
+                  &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                  &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                      # corresponding icon image.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                      # are clickable.
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
                 },
-                "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                  "url": "A String", # The URL to open.
+                &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                  &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                      # to reserve the right height for the image while waiting for it to load.
+                      # It&#x27;s not meant to override the native aspect ratio of the image.
+                      # If unset, the server fills it by prefetching the image.
+                  &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                        },
+                      ],
+                    },
+                  },
                 },
+                &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                    # fields should be set.
+                  { # A button. Can be a text button or an image button.
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
+                    },
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            },
+                          ],
+                        },
+                      },
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                    },
+                  },
+                ],
+              },
+            ],
+          },
+        ],
+        &quot;cardActions&quot;: [ # The actions of this card.
+          { # A card action is
+              # the action associated with the card. For an invoice card, a
+              # typical action would be: delete invoice, email invoice or open the
+              # invoice in browser.
+            &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+            &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+              &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+              },
+              &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                  # For example, an Apps Script can be invoked to handle the form.
+                &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                    # form submission. This information is echoed back to the bot as part of
+                    # the card click event. The same method name can be used for several
+                    # elements that trigger a common behavior if desired.
+                &quot;parameters&quot;: [ # List of action parameters.
+                  { # List of string parameters to supply when the action method is invoked.
+                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                      # snooze next week. You might use action method = snooze(), passing the
+                      # snooze type and snooze time in the list of string parameters.
+                    &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                  },
+                ],
               },
             },
-          ],
-          "sections": [ # Sections are separated by a line divider.
-            { # A section contains a collection of widgets that are rendered
-                # (vertically) in the order that they are specified. Across all platforms,
-                # cards have a narrow fixed width, so
-                # there is currently no need for layout properties (e.g. float).
-              "widgets": [ # A section must contain at least 1 widget.
-                { # A widget is a UI element that presents texts, images, etc.
-                  "buttons": [ # A list of buttons. Buttons is also oneof data and only one of these
-                      # fields should be set.
-                    { # A button. Can be a text button or an image button.
-                      "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                        "iconUrl": "A String", # The icon specified by a URL.
-                        "name": "A String", # The name of this image_button which will be used for accessibility.
-                            # Default value will be provided if developers don't specify.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                        "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                            # API.
-                      },
-                      "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                        "text": "A String", # The text of the button.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                      },
-                    },
-                  ],
-                  "keyValue": { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                      # element may also contain some actions such as onclick button.
-                    "contentMultiline": True or False, # If the content should be multiline.
-                    "bottomLabel": "A String", # The text of the bottom label. Formatted text supported.
-                    "topLabel": "A String", # The text of the top label. Formatted text supported.
-                    "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                      "imageButton": { # An image button with an onclick action. # A button with image and onclick action.
-                        "iconUrl": "A String", # The icon specified by a URL.
-                        "name": "A String", # The name of this image_button which will be used for accessibility.
-                            # Default value will be provided if developers don't specify.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                        "icon": "A String", # The icon specified by an enum that indices to an icon provided by Chat
-                            # API.
-                      },
-                      "textButton": { # A button with text and onclick action. # A button with text and onclick action.
-                        "text": "A String", # The text of the button.
-                        "onClick": { # An onclick action (e.g. open a link). # The onclick action of the button.
-                          "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                              # For example, an Apps Script can be invoked to handle the form.
-                            "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                                # form submission. This information is echoed back to the bot as part of
-                                # the card click event. The same method name can be used for several
-                                # elements that trigger a common behavior if desired.
-                            "parameters": [ # List of action parameters.
-                              { # List of string parameters to supply when the action method is invoked.
-                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                  # snooze next week. You might use action method = snooze(), passing the
-                                  # snooze type and snooze time in the list of string parameters.
-                                "key": "A String", # The name of the parameter for the action script.
-                                "value": "A String", # The value of the parameter.
-                              },
-                            ],
-                          },
-                          "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                            "url": "A String", # The URL to open.
-                          },
-                        },
-                      },
-                    },
-                    "content": "A String", # The text of the content. Formatted text supported and always required.
-                    "iconUrl": "A String", # The icon specified by a URL.
-                    "onClick": { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                        # are clickable.
-                      "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        "parameters": [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            "key": "A String", # The name of the parameter for the action script.
-                            "value": "A String", # The value of the parameter.
-                          },
-                        ],
-                      },
-                      "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        "url": "A String", # The URL to open.
-                      },
-                    },
-                    "icon": "A String", # An enum value that will be replaced by the Chat API with the
-                        # corresponding icon image.
-                  },
-                  "image": { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                    "aspectRatio": 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                        # to reserve the right height for the image while waiting for it to load.
-                        # It's not meant to override the native aspect ratio of the image.
-                        # If unset, the server fills it by prefetching the image.
-                    "imageUrl": "A String", # The URL of the image.
-                    "onClick": { # An onclick action (e.g. open a link). # The onclick action.
-                      "action": { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        "actionMethodName": "A String", # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        "parameters": [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            "key": "A String", # The name of the parameter for the action script.
-                            "value": "A String", # The value of the parameter.
-                          },
-                        ],
-                      },
-                      "openLink": { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        "url": "A String", # The URL to open.
-                      },
-                    },
-                  },
-                  "textParagraph": { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                    "text": "A String",
-                  },
-                },
-              ],
-              "header": "A String", # The header of the section, text formatted supported.
-            },
-          ],
-          "name": "A String", # Name of the card.
-          "header": { # The header of the card. A header usually contains a title and an image.
-            "imageStyle": "A String", # The image's type (e.g. square border or circular border).
-            "imageUrl": "A String", # The URL of the image in the card header.
-            "subtitle": "A String", # The subtitle of the card header.
-            "title": "A String", # The title must be specified. The header has a fixed height: if both a
-                # title and subtitle is specified, each will take up 1 line. If only the
-                # title is specified, it will take up both lines.
           },
+        ],
+        &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+          &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+          &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+          &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+          &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+              # title and subtitle is specified, each will take up 1 line. If only the
+              # title is specified, it will take up both lines.
         },
-      ],
-      "previewText": "A String", # Text for generating preview chips. This text will not be displayed to the
-          # user, but any links to images, web pages, videos, etc. included here will
-          # generate preview chips.
-      "annotations": [ # Output only. Annotations associated with the text in this message.
-        { # Annotations associated with the plain-text body of the message.
-            #
-            # Example plain-text message body:
-            # ```
-            # Hello @FooBot how are you!"
-            # ```
-            #
-            # The corresponding annotations metadata:
-            # ```
-            # "annotations":[{
-            #   "type":"USER_MENTION",
-            #   "startIndex":6,
-            #   "length":7,
-            #   "userMention": {
-            #     "user": {
-            #       "name":"users/107946847022116401880",
-            #       "displayName":"FooBot",
-            #       "avatarUrl":"https://goo.gl/aeDtrS",
-            #       "type":"BOT"
-            #     },
-            #     "type":"MENTION"
-            #    }
-            # }]
-            # ```
-          "userMention": { # Annotation metadata for user mentions (@). # The metadata of user mention.
-            "type": "A String", # The type of user mention.
-            "user": { # A user in Hangouts Chat. # The user mentioned.
-              "type": "A String", # User type.
-              "domainId": "A String", # Obfuscated domain information.
-              "displayName": "A String", # The user's display name.
-              "name": "A String", # Resource name, in the format "users/*".
-            },
-          },
-          "length": 42, # Length of the substring in the plain-text message body this annotation
-              # corresponds to.
-          "type": "A String", # The type of this annotation.
-          "startIndex": 42, # Start index (0-based, inclusive) in the plain-text message body this
-              # annotation corresponds to.
-        },
-      ],
-      "sender": { # A user in Hangouts Chat. # The user who created the message.
-        "type": "A String", # User type.
-        "domainId": "A String", # Obfuscated domain information.
-        "displayName": "A String", # The user's display name.
-        "name": "A String", # Resource name, in the format "users/*".
+        &quot;name&quot;: &quot;A String&quot;, # Name of the card.
       },
-    }</pre>
+    ],
+    &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+      &quot;type&quot;: &quot;A String&quot;, # User type.
+      &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+      &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+    },
+    &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
+    },
+    &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
+      { # Annotations associated with the plain-text body of the message.
+          #
+          # Example plain-text message body:
+          # ```
+          # Hello @FooBot how are you!&quot;
+          # ```
+          #
+          # The corresponding annotations metadata:
+          # ```
+          # &quot;annotations&quot;:[{
+          #   &quot;type&quot;:&quot;USER_MENTION&quot;,
+          #   &quot;startIndex&quot;:6,
+          #   &quot;length&quot;:7,
+          #   &quot;userMention&quot;: {
+          #     &quot;user&quot;: {
+          #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
+          #       &quot;displayName&quot;:&quot;FooBot&quot;,
+          #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
+          #       &quot;type&quot;:&quot;BOT&quot;
+          #     },
+          #     &quot;type&quot;:&quot;MENTION&quot;
+          #    }
+          # }]
+          # ```
+        &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+        &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+            # corresponds to.
+        &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+            # annotation corresponds to.
+        &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
+          &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
+          &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
+            &quot;type&quot;: &quot;A String&quot;, # User type.
+            &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+            &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+            &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+          },
+        },
+      },
+    ],
+    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
+        #
+        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+    &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
+        # user, but any links to images, web pages, videos, etc. included here will
+        # generate preview chips.
+    &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+      &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
+          # This is deprecated. Use `single_user_bot_dm` instead.
+      &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehYs
+      &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+    },
+    &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+    &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+    &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+        # cannot be displayed (e.g. mobile notifications).
+    &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+        # posted.
+      &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+      &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+        # server.
+  }</pre>
 </div>
 
 </body></html>
\ No newline at end of file