Allow EC2 inventory sources to omit a credential in order to use IAM roles. Implements https://trello.com/c/aBMF95eF

This commit is contained in:
Chris Church
2014-12-17 01:50:25 -05:00
parent 4ee092152b
commit ee97e83b2c
3 changed files with 13 additions and 3 deletions

View File

@@ -976,7 +976,10 @@ class InventorySourceOptions(BaseModel):
'Cloud-based inventory sources (such as %s) require '
'credentials for the matching cloud service.' % self.source
)
elif self.source in CLOUD_PROVIDERS:
# Allow an EC2 source to omit the credential. If Tower is running on
# an EC2 instance with an IAM Role assigned, boto will use credentials
# from the instance metadata instead of those explicitly provided.
elif self.source in CLOUD_PROVIDERS and self.source != 'ec2':
raise ValidationError('Credential is required for a cloud source')
return cred