The Terrawork (Terragrunt) people have posted their latest response. It looks like multiple companies have banded together and are fully behind forking Terraform, if required.
https://blog.gruntwork.io/the-future-of-terraform-must-be-open-ab0b9ba65bca
Yup, that is for the AWS CLI command. You could also use that from AWS Cloud Shell.
You can use aws iam list-instance-profiles
to get a list of what is already created. I suspect there is something else wrong.
It cloud be looking for the default Beanstalk instance profile and role (aws-elasticbeanstalk-ec2-role) as it isn’t auto-created anymore. It could also be a permission issue with the role’s policy.
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-instanceprofile.html
Elastic Beanstalk is one of the few AWS services I haven’t used as it just deploys a number of other services and resources behind the scenes. It is more of a up-and-running-quick demonstration tool than something you would use IRL. It can be used, but there are better options.
An instance profile is what I would call a legacy resource that really shouldn’t be needed, but is still there in the background for backwards compatibility. You can’t attach an IAM role directly to an EC2 instance. You need to have an instance profile in between that is named the same as the IAM role.
You can create one using every other interface (command line, CloudFormation, Terraform, SDKs, etc.), but not through the web console (browser). From the web console, you would need to recreate the IAM role and make sure you select EC2 as the purpose/service for the role. Only then will it create a matching instance profile along-side your new IAM role.
I think it is the best option of all the possible choices I have seen and I can see how the ‘Open’ they tacked on is required for finding the project through searches. Adoption would have been be awful if they stuck with just ‘Tofu’. Adoption of tofu as a meat substitute could have improve, though.