async fn put_insight_rule(
        &self,
        input: PutInsightRuleInput,
    ) -> Result<PutInsightRuleOutput, RusotoError<PutInsightRuleError>> {
        let mut request = SignedRequest::new("POST", "monitoring", &self.region, "/");
        let params = self.new_params("PutInsightRule");
        let mut params = params;
        PutInsightRuleInputSerializer::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, PutInsightRuleError::from_response)
            .await?;

        let result = PutInsightRuleOutput::default();

        drop(response); // parse non-payload
        Ok(result)
    }
<p>Creates a Contributor Insights rule. Rules evaluate log events in a CloudWatch Logs log group, enabling you to find contributor data for the log events in that log group. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html">Using Contributor Insights to Analyze High-Cardinality Data</a>.</p> <p>If you create a rule, delete it, and then re-create it with the same name, historical data from the first time the rule was created might not be available.</p>
rusoto/services/cloudwatch/src/generated.rs