Automated way for manual snapshots

Hi All, Is there a way I can automate the manual snapshots and the retention period using terraform

yes, you can.
Need to implement lambda function + cloudwatch rules.
See medium lambda function which takes snapshots. Note: this example, you need to adopt to your case.
Plus in additional you need to add one more function which check stale snasphots and delete them.