Closed mjuenema closed 4 years ago
I think that this problem was solved. I'm using multiples providers. Example:
from terrascript import Terrascript from terrascript import provider from terrascript.aws.r import aws_instance ts = Terrascript() AWS_REGION_LIST = [ 'us-east-1', 'ap-southeast-1', 'eu-central-1', ] aws_providers_map = {} for _region in AWS_REGION_LIST: _provider = ts.add(provider( 'aws', version="~> 1.38", access_key='AWS_ACCESS_KEY', secret_key='AWS_SECRET_KEY', region=_region, alias=_region, )) aws_providers_map[_region] = _provider # Default Provider ts.add(provider( 'aws', version="~> 1.38", access_key='AWS_ACCESS_KEY', secret_key='AWS_SECRET_KEY', region='us-east-1', )) instance_example1 = ts.add(aws_instance( 'example2', ami='ami-2757f631', instance_type='t2.micro', provider=aws_providers_map['us-east-1'].id, )) print(ts.dump())
Output:
{ "provider": { "aws": { "__DEFAULT__": { "access_key": "AWS_ACCESS_KEY", "region": "us-east-1", "secret_key": "AWS_SECRET_KEY", "version": "~> 1.38" }, "ap-southeast-1": { "access_key": "AWS_ACCESS_KEY", "alias": "ap-southeast-1", "region": "ap-southeast-1", "secret_key": "AWS_SECRET_KEY", "version": "~> 1.38" }, "eu-central-1": { "access_key": "AWS_ACCESS_KEY", "alias": "eu-central-1", "region": "eu-central-1", "secret_key": "AWS_SECRET_KEY", "version": "~> 1.38" }, "us-east-1": { "access_key": "AWS_ACCESS_KEY", "alias": "us-east-1", "region": "us-east-1", "secret_key": "AWS_SECRET_KEY", "version": "~> 1.38" } } }, "resource": { "aws_instance": { "example2": { "ami": "ami-2757f631", "instance_type": "t2.micro", "provider": "${provider.aws.us-east-1.id}" } } } }
I think that this problem was solved. I'm using multiples providers. Example:
Output: