Automating Initial Setup of Virtual Machines with Ansible

I want to automate the initial setup of my virtual machines using Ansible.
For instance, when a user logs in to the system for the first time with their credentials, they should automatically receive a prompt to change their password. Following that, they should be prompted to set up the system, including options for system updates, configuring the hostname, and adjusting network settings. Is there any solution available where users can handle this themselves?

#AnsibleAutomation #AnsibleCommunity #DevOps #InfrastructureAsCode #ConfigurationManagement #Automation #ITAutomation #AnsiblePlaybooks #AnsibleRoles #SysAdmin #CloudAutomation #OpenSource #ITOps #AutomationEngineer