async fn restore_table_from_cluster_snapshot(
        &self,
        input: RestoreTableFromClusterSnapshotMessage,
    ) -> Result<
        RestoreTableFromClusterSnapshotResult,
        RusotoError<RestoreTableFromClusterSnapshotError>,
    > {
        let mut request = SignedRequest::new("POST", "redshift", &self.region, "/");
        let params = self.new_params("RestoreTableFromClusterSnapshot");
        let mut params = params;
        RestoreTableFromClusterSnapshotMessageSerializer::serialize(&mut params, "", &input);
        request.set_payload(Some(serde_urlencoded::to_string(&params).unwrap()));
        request.set_content_type("application/x-www-form-urlencoded".to_owned());

        let response = self
            .sign_and_dispatch(request, RestoreTableFromClusterSnapshotError::from_response)
            .await?;

        let mut response = response;
        let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
            xml_util::start_element(actual_tag_name, stack)?;
            let result = RestoreTableFromClusterSnapshotResultDeserializer::deserialize(
                "RestoreTableFromClusterSnapshotResult",
                stack,
            )?;
            skip_tree(stack);
            xml_util::end_element(actual_tag_name, stack)?;
            Ok(result)
        })
        .await?;

        drop(response); // parse non-payload
        Ok(result)
    }
<p>Creates a new table from a table in an Amazon Redshift cluster snapshot. You must create the new table within the Amazon Redshift cluster that the snapshot was taken from.</p> <p>You cannot use <code>RestoreTableFromClusterSnapshot</code> to restore a table with the same name as an existing table in an Amazon Redshift cluster. That is, you cannot overwrite an existing table in a cluster with a restored table. If you want to replace your original table with a new, restored table, then rename or drop your original table before you call <code>RestoreTableFromClusterSnapshot</code>. When you have renamed your original table, then you can pass the original name of the table as the <code>NewTableName</code> parameter value in the call to <code>RestoreTableFromClusterSnapshot</code>. This way, you can replace the original table with the table created from the snapshot.</p>
rusoto/services/redshift/src/generated.rs