class Meta: _list_fields = ('id', 'name', 'parent', 'file', 'secret_file', 'filter_applied') _copy_attrs = dict(copy_field_name='name') _override_list_fields = dict( name=fields.AutoCompletionField(autocomplete=['Some', 'Another']), parent=fields.AutoCompletionField(autocomplete='Host', required=False), secret_file=fields.SecretFileInString(read_only=True), file=fields.FileInStringField(read_only=True), filter_applied=fields.IntegerField(default=0, read_only=True), ) _filterset_fields = ('id', )
class HostGroupSerializer(VSTSerializer): name = fields.AutoCompletionField(autocomplete=['Some', 'Another']) parent = fields.AutoCompletionField(autocomplete='Host', required=False) secret_file = fields.SecretFileInString(read_only=True) file = fields.FileInStringField(read_only=True) class Meta: model = HostGroup fields = ( 'id', 'name', 'parent', 'file', 'secret_file', )
class AnsibleModuleSerializer(_AnsibleSerializer): # pylint: disable=abstract-method ansible_reference = AnsibleArgumentsReference() module = vst_fields.AutoCompletionField(required=True, autocomplete='Module', autocomplete_property='name', autocomplete_represent='path')
class InventoryVariableSerializer(VariableSerializer): key = vst_fields.AutoCompletionField(autocomplete=models.Variable.variables_keys) value = vst_fields.DependEnumField( allow_blank=True, field='key', types={ 'ansible_ssh_pass': '******', 'ansible_ssh_private_key_file': 'secretfile', 'ansible_become': 'boolean', 'ansible_port': 'integer', 'ansible_become_pass': '******', } )
class ProjectVariableSerializer(VariableSerializer): key = vst_fields.AutoCompletionField(required=True, autocomplete=models.Project.VARS_KEY) value = vst_fields.DependEnumField( allow_blank=True, field='key', choices={ 'repo_type': list(models.Project.repo_handlers.keys()), 'repo_sync_on_run': [True, False] }, types={ 'repo_password': '******', 'repo_key': 'secretfile' })
class AnsiblePlaybookSerializer(_AnsibleSerializer): # pylint: disable=abstract-method ansible_reference = AnsibleArgumentsReference() playbook = vst_fields.AutoCompletionField(required=True, autocomplete='Playbook', autocomplete_property='playbook')
class AnsibleModuleSerializer(_AnsibleSerializer): module = vst_fields.AutoCompletionField(required=True, autocomplete='Module', autocomplete_property='name', autocomplete_represent='path')
class AnsiblePlaybookSerializer(_AnsibleSerializer): playbook = vst_fields.AutoCompletionField(required=True, autocomplete='Playbook', autocomplete_property='playbook')