Terraform provider uses profiles, how can I use profiles with env0?

I use different profiles for multiple aliases, and/or I use a different profile for my backend configuration.

AWS profiles are typically used when executing your code locally, because you can manage multiple credentials for different AWS accounts in your .AWS/credentials file.

When using env0 to run the same code, you will need to setup a similar ~/.aws/credentials file so that Terraform or Terragrunt can find the profile credentials to access your AWS account.

 

How to setup a AWS credentials 

 

We recommend using the env0.yaml (Custom Flow feature) to help prepare the credentials file. One easy way is to have a copy of your credential file in an S3 bucket, and use the custom flow to copy the credential file into the home directory of the runner.

for example:

version: 1

deploy:
steps:
  setupVariables:
    after:
- mkdir ~/.aws
      - aws s3 cp s3://mybucket/credentials ~/.aws/credential

 

Note:

Consider using AWS assume roles in your profile configuration so you don't use static credentials.  See our docs on setting up assume roles for more information. https://docs.env0.com/docs/connect-your-cloud-account#using-aws-assume-role