mirror of
https://github.com/ansible/awx.git
synced 2026-06-27 09:28:01 -02:30
added initial API support for Network credential
This commit is contained in:
@@ -33,6 +33,7 @@ class Credential(PasswordFieldsModel, CommonModelNameNotUnique, ResourceMixin):
|
||||
|
||||
KIND_CHOICES = [
|
||||
('ssh', _('Machine')),
|
||||
('net', _('Network')),
|
||||
('scm', _('Source Control')),
|
||||
('aws', _('Amazon Web Services')),
|
||||
('rax', _('Rackspace')),
|
||||
|
||||
@@ -85,6 +85,14 @@ class JobOptions(BaseModel):
|
||||
default=None,
|
||||
on_delete=models.SET_NULL,
|
||||
)
|
||||
network_credential = models.ForeignKey(
|
||||
'Credential',
|
||||
related_name='%(class)ss_as_network_credential+',
|
||||
blank=True,
|
||||
null=True,
|
||||
default=None,
|
||||
on_delete=models.SET_NULL,
|
||||
),
|
||||
forks = models.PositiveIntegerField(
|
||||
blank=True,
|
||||
default=0,
|
||||
@@ -141,6 +149,14 @@ class JobOptions(BaseModel):
|
||||
)
|
||||
return cred
|
||||
|
||||
def clean_network_credential(self):
|
||||
cred = self.network_credential
|
||||
if cred and cred.kind != 'net':
|
||||
raise ValidationError(
|
||||
'You must provide a network credential.',
|
||||
)
|
||||
return cred
|
||||
|
||||
def clean_cloud_credential(self):
|
||||
cred = self.cloud_credential
|
||||
if cred and cred.kind not in CLOUD_PROVIDERS + ('aws',):
|
||||
@@ -212,7 +228,7 @@ class JobTemplate(UnifiedJobTemplate, JobOptions, ResourceMixin):
|
||||
@classmethod
|
||||
def _get_unified_job_field_names(cls):
|
||||
return ['name', 'description', 'job_type', 'inventory', 'project',
|
||||
'playbook', 'credential', 'cloud_credential', 'forks', 'schedule',
|
||||
'playbook', 'credential', 'cloud_credential', 'network_credential', 'forks', 'schedule',
|
||||
'limit', 'verbosity', 'job_tags', 'extra_vars', 'launch_type',
|
||||
'force_handlers', 'skip_tags', 'start_at_task', 'become_enabled',
|
||||
'labels',]
|
||||
|
||||
Reference in New Issue
Block a user