async fn associate_approval_rule_template_with_repository(
        &self,
        input: AssociateApprovalRuleTemplateWithRepositoryInput,
    ) -> Result<(), RusotoError<AssociateApprovalRuleTemplateWithRepositoryError>> {
        let mut request = self.new_signed_request("POST", "/");
        request.add_header(
            "x-amz-target",
            "CodeCommit_20150413.AssociateApprovalRuleTemplateWithRepository",
        );
        let encoded = serde_json::to_string(&input).unwrap();
        request.set_payload(Some(encoded));

        let response = self
            .sign_and_dispatch(
                request,
                AssociateApprovalRuleTemplateWithRepositoryError::from_response,
            )
            .await?;
        std::mem::drop(response);
        Ok(())
    }
<p>Creates an association between an approval rule template and a specified repository. Then, the next time a pull request is created in the repository where the destination reference (if specified) matches the destination reference (branch) for the pull request, an approval rule that matches the template conditions is automatically created for that pull request. If no destination references are specified in the template, an approval rule that matches the template contents is created for all pull requests in that repository.</p>
rusoto/services/codecommit/src/generated.rs