Disallow custom inventory sources from using meaningless credentials

This commit is contained in:
Aaron Tan
2017-08-25 16:47:08 -04:00
parent e1ee95234e
commit 11e924b344

View File

@@ -1143,6 +1143,11 @@ class InventorySourceOptions(BaseModel):
# from the instance metadata instead of those explicitly provided. # from the instance metadata instead of those explicitly provided.
elif self.source in CLOUD_PROVIDERS and self.source != 'ec2': elif self.source in CLOUD_PROVIDERS and self.source != 'ec2':
raise ValidationError(_('Credential is required for a cloud source.')) raise ValidationError(_('Credential is required for a cloud source.'))
elif self.source == 'custom' and cred and cred.credential_type.kind in ('scm', 'ssh', 'insights', 'vault'):
raise ValidationError(_(
'Credentials of type machine, source control, insights and vault are '
'disallowed for custom inventory sources.'
))
return cred return cred
def clean_source_regions(self): def clean_source_regions(self):