mirror of https://github.com/jumpserver/jumpserver
				
				
				
			Merge branch 'v3' of github.com:jumpserver/jumpserver into v3
						commit
						0047af4584
					
				|  | @ -53,7 +53,7 @@ class AssetAccountSerializer(AccountSerializer): | |||
|             'version', 'secret_type', | ||||
|         ] | ||||
|         fields_write_only = [ | ||||
|             'secret',  'push_now' | ||||
|             'secret', 'push_now' | ||||
|         ] | ||||
|         fields = fields_mini + fields_write_only | ||||
| 
 | ||||
|  | @ -67,10 +67,11 @@ class AssetSerializer(OrgResourceSerializerMixin, WritableNestedModelSerializer) | |||
|     labels = AssetLabelSerializer(many=True, required=False, label=_('Labels')) | ||||
|     protocols = AssetProtocolsSerializer(many=True, required=False, label=_('Protocols')) | ||||
|     accounts = AssetAccountSerializer(many=True, required=False, label=_('Accounts')) | ||||
|     automation_enabled_info = serializers.SerializerMethodField() | ||||
| 
 | ||||
|     class Meta: | ||||
|         model = Asset | ||||
|         fields_mini = ['id', 'name', 'address'] | ||||
|         fields_mini = ['id', 'name', 'address', 'automation_enabled_info'] | ||||
|         fields_small = fields_mini + ['is_active', 'comment'] | ||||
|         fields_fk = ['domain', 'platform', 'platform'] | ||||
|         fields_m2m = [ | ||||
|  | @ -78,8 +79,8 @@ class AssetSerializer(OrgResourceSerializerMixin, WritableNestedModelSerializer) | |||
|         ] | ||||
|         read_only_fields = [ | ||||
|             'category', 'type', 'specific', 'info', | ||||
|             'connectivity', 'date_verified', | ||||
|             'created_by', 'date_created', | ||||
|             'connectivity', 'date_verified', 'created_by', | ||||
|             'date_created' | ||||
|         ] | ||||
|         fields = fields_small + fields_fk + fields_m2m + read_only_fields | ||||
|         extra_kwargs = { | ||||
|  | @ -93,6 +94,19 @@ class AssetSerializer(OrgResourceSerializerMixin, WritableNestedModelSerializer) | |||
|             names.remove('specific') | ||||
|         return names | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def get_automation_enabled_info(obj): | ||||
|         automation = obj.platform.automation | ||||
|         return { | ||||
|             'ping_enabled': automation.ping_enabled, | ||||
|             'ansible_enabled': automation.ansible_enabled, | ||||
|             'gather_facts_enabled': automation.gather_facts_enabled, | ||||
|             'push_account_enabled': automation.push_account_enabled, | ||||
|             'change_secret_enabled': automation.change_secret_enabled, | ||||
|             'verify_account_enabled': automation.verify_account_enabled, | ||||
|             'gather_accounts_enabled': automation.gather_accounts_enabled, | ||||
|         } | ||||
| 
 | ||||
|     @classmethod | ||||
|     def setup_eager_loading(cls, queryset): | ||||
|         """ Perform necessary eager loading of data. """ | ||||
|  |  | |||
|  | @ -38,6 +38,7 @@ class ProtocolSettingSerializer(serializers.Serializer): | |||
| 
 | ||||
| 
 | ||||
| class PlatformAutomationSerializer(serializers.ModelSerializer): | ||||
| 
 | ||||
|     class Meta: | ||||
|         model = PlatformAutomation | ||||
|         fields = [ | ||||
|  |  | |||
|  | @ -1,24 +1,20 @@ | |||
| # Generated by Django 3.2.14 on 2022-10-24 09:09 | ||||
| # Generated by Django 3.2.14 on 2022-12-05 03:23 | ||||
| 
 | ||||
| from django.conf import settings | ||||
| from django.db import migrations, models | ||||
| import django.db.models.deletion | ||||
| import uuid | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         migrations.swappable_dependency(settings.AUTH_USER_MODEL), | ||||
|         ('assets', '0117_gateway'), | ||||
|         ('ops', '0026_auto_20221009_2050'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.DeleteModel(name='CeleryTask'), | ||||
|         migrations.CreateModel( | ||||
|             name='CeleryTask', | ||||
|             fields=[ | ||||
|                 ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), | ||||
|                 ('name', models.CharField(max_length=1024)), | ||||
|             ] | ||||
|         ), | ||||
|         migrations.CreateModel( | ||||
|             name='CeleryTaskExecution', | ||||
|             fields=[ | ||||
|  | @ -28,9 +24,234 @@ class Migration(migrations.Migration): | |||
|                 ('kwargs', models.JSONField(verbose_name='Kwargs')), | ||||
|                 ('state', models.CharField(max_length=16, verbose_name='State')), | ||||
|                 ('is_finished', models.BooleanField(default=False, verbose_name='Finished')), | ||||
|                 ('date_published', models.DateTimeField(auto_now_add=True)), | ||||
|                 ('date_start', models.DateTimeField(null=True)), | ||||
|                 ('date_finished', models.DateTimeField(null=True)), | ||||
|                 ('date_published', models.DateTimeField(auto_now_add=True, verbose_name='Date published')), | ||||
|                 ('date_start', models.DateTimeField(null=True, verbose_name='Date start')), | ||||
|                 ('date_finished', models.DateTimeField(null=True, verbose_name='Date finished')), | ||||
|             ], | ||||
|         ), | ||||
|         migrations.CreateModel( | ||||
|             name='Job', | ||||
|             fields=[ | ||||
|                 ('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')), | ||||
|                 ('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')), | ||||
|                 ('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')), | ||||
|                 ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')), | ||||
|                 ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), | ||||
|                 ('is_periodic', models.BooleanField(default=False)), | ||||
|                 ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Cycle perform')), | ||||
|                 ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform')), | ||||
|                 ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), | ||||
|                 ('name', models.CharField(max_length=128, null=True, verbose_name='Name')), | ||||
|                 ('instant', models.BooleanField(default=False)), | ||||
|                 ('args', models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Args')), | ||||
|                 ('module', models.CharField(choices=[('shell', 'Shell'), ('win_shell', 'Powershell')], default='shell', max_length=128, null=True, verbose_name='Module')), | ||||
|                 ('chdir', models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Chdir')), | ||||
|                 ('timeout', models.IntegerField(default=60, verbose_name='Timeout (Seconds)')), | ||||
|                 ('type', models.CharField(choices=[('adhoc', 'Adhoc'), ('playbook', 'Playbook')], default='adhoc', max_length=128, verbose_name='Type')), | ||||
|                 ('runas', models.CharField(default='root', max_length=128, verbose_name='Runas')), | ||||
|                 ('runas_policy', models.CharField(choices=[('privileged_only', 'Privileged Only'), ('privileged_first', 'Privileged First'), ('skip', 'Skip')], default='skip', max_length=128, verbose_name='Runas policy')), | ||||
|                 ('use_parameter_define', models.BooleanField(default=False, verbose_name='Use Parameter Define')), | ||||
|                 ('parameters_define', models.JSONField(default=dict, verbose_name='Parameters define')), | ||||
|                 ('comment', models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Comment')), | ||||
|                 ('assets', models.ManyToManyField(to='assets.Asset', verbose_name='Assets')), | ||||
|                 ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Creator')), | ||||
|             ], | ||||
|             options={ | ||||
|                 'ordering': ['date_created'], | ||||
|             }, | ||||
|         ), | ||||
|         migrations.CreateModel( | ||||
|             name='JobExecution', | ||||
|             fields=[ | ||||
|                 ('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')), | ||||
|                 ('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')), | ||||
|                 ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')), | ||||
|                 ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), | ||||
|                 ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), | ||||
|                 ('task_id', models.UUIDField(null=True)), | ||||
|                 ('status', models.CharField(default='running', max_length=16, verbose_name='Status')), | ||||
|                 ('parameters', models.JSONField(default=dict, verbose_name='Parameters')), | ||||
|                 ('result', models.JSONField(blank=True, null=True, verbose_name='Result')), | ||||
|                 ('summary', models.JSONField(default=dict, verbose_name='Summary')), | ||||
|                 ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), | ||||
|                 ('date_start', models.DateTimeField(db_index=True, null=True, verbose_name='Date start')), | ||||
|                 ('date_finished', models.DateTimeField(null=True, verbose_name='Date finished')), | ||||
|                 ('creator', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Creator')), | ||||
|                 ('job', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='executions', to='ops.job')), | ||||
|             ], | ||||
|             options={ | ||||
|                 'ordering': ['-date_created'], | ||||
|             }, | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbookexecution', | ||||
|             name='creator', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbookexecution', | ||||
|             name='task', | ||||
|         ), | ||||
|         migrations.AlterUniqueTogether( | ||||
|             name='playbooktemplate', | ||||
|             unique_together=None, | ||||
|         ), | ||||
|         migrations.AlterModelOptions( | ||||
|             name='celerytask', | ||||
|             options={'ordering': ('name',)}, | ||||
|         ), | ||||
|         migrations.RenameField( | ||||
|             model_name='adhoc', | ||||
|             old_name='owner', | ||||
|             new_name='creator', | ||||
|         ), | ||||
|         migrations.RenameField( | ||||
|             model_name='celerytask', | ||||
|             old_name='date_finished', | ||||
|             new_name='last_published_time', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='account', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='account_policy', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='assets', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='crontab', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='date_last_run', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='interval', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='is_periodic', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='last_execution', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='celerytask', | ||||
|             name='args', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='celerytask', | ||||
|             name='date_published', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='celerytask', | ||||
|             name='date_start', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='celerytask', | ||||
|             name='is_finished', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='celerytask', | ||||
|             name='kwargs', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='celerytask', | ||||
|             name='state', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='account', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='account_policy', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='assets', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='crontab', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='date_last_run', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='interval', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='is_periodic', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='last_execution', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='owner', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='template', | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='adhoc', | ||||
|             name='comment', | ||||
|             field=models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Comment'), | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='playbook', | ||||
|             name='creator', | ||||
|             field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Creator'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='adhoc', | ||||
|             name='module', | ||||
|             field=models.CharField(choices=[('shell', 'Shell'), ('win_shell', 'Powershell')], default='shell', max_length=128, verbose_name='Module'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='celerytask', | ||||
|             name='name', | ||||
|             field=models.CharField(max_length=1024, verbose_name='Name'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='playbook', | ||||
|             name='comment', | ||||
|             field=models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Comment'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='playbook', | ||||
|             name='name', | ||||
|             field=models.CharField(max_length=128, null=True, verbose_name='Name'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='playbook', | ||||
|             name='path', | ||||
|             field=models.FileField(upload_to='playbooks/'), | ||||
|         ), | ||||
|         migrations.DeleteModel( | ||||
|             name='AdHocExecution', | ||||
|         ), | ||||
|         migrations.DeleteModel( | ||||
|             name='PlaybookExecution', | ||||
|         ), | ||||
|         migrations.DeleteModel( | ||||
|             name='PlaybookTemplate', | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='playbook', | ||||
|             field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='ops.playbook', verbose_name='Playbook'), | ||||
|         ), | ||||
|     ] | ||||
|  |  | |||
|  | @ -1,18 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-10-27 06:35 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0027_auto_20221024_1709'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AddField( | ||||
|             model_name='celerytask', | ||||
|             name='last_published_time', | ||||
|             field=models.DateTimeField(null=True), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,171 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-11 11:19 | ||||
| 
 | ||||
| from django.conf import settings | ||||
| from django.db import migrations, models | ||||
| import django.db.models.deletion | ||||
| import uuid | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         migrations.swappable_dependency(settings.AUTH_USER_MODEL), | ||||
|         ('assets', '0111_alter_automationexecution_status'), | ||||
|         ('ops', '0028_celerytask_last_published_time'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.CreateModel( | ||||
|             name='Job', | ||||
|             fields=[ | ||||
|                 ('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')), | ||||
|                 ('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')), | ||||
|                 ('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')), | ||||
|                 ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')), | ||||
|                 ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), | ||||
|                 ('name', models.CharField(max_length=128, null=True, verbose_name='Name')), | ||||
|                 ('instant', models.BooleanField(default=False)), | ||||
|                 ('args', models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Args')), | ||||
|                 ('module', models.CharField(choices=[('shell', 'Shell'), ('win_shell', 'Powershell')], default='shell', max_length=128, null=True, verbose_name='Module')), | ||||
|                 ('type', models.CharField(choices=[('adhoc', 'Adhoc'), ('playbook', 'Playbook')], default='adhoc', max_length=128, verbose_name='Type')), | ||||
|                 ('runas', models.CharField(default='root', max_length=128, verbose_name='Runas')), | ||||
|                 ('runas_policy', models.CharField(choices=[('privileged_only', 'Privileged Only'), ('privileged_first', 'Privileged First'), ('skip', 'Skip')], default='skip', max_length=128, verbose_name='Runas policy')), | ||||
|                 ('assets', models.ManyToManyField(to='assets.Asset', verbose_name='Assets')), | ||||
|                 ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Creator')), | ||||
|             ], | ||||
|             options={ | ||||
|                 'abstract': False, | ||||
|             }, | ||||
|         ), | ||||
|         migrations.CreateModel( | ||||
|             name='JobExecution', | ||||
|             fields=[ | ||||
|                 ('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')), | ||||
|                 ('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')), | ||||
|                 ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')), | ||||
|                 ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), | ||||
|                 ('task_id', models.UUIDField(null=True)), | ||||
|                 ('status', models.CharField(default='running', max_length=16, verbose_name='Status')), | ||||
|                 ('result', models.JSONField(blank=True, null=True, verbose_name='Result')), | ||||
|                 ('summary', models.JSONField(default=dict, verbose_name='Summary')), | ||||
|                 ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), | ||||
|                 ('date_start', models.DateTimeField(db_index=True, null=True, verbose_name='Date start')), | ||||
|                 ('date_finished', models.DateTimeField(null=True, verbose_name='Date finished')), | ||||
|                 ('creator', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Creator')), | ||||
|                 ('job', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='executions', to='ops.job')), | ||||
|             ], | ||||
|             options={ | ||||
|                 'abstract': False, | ||||
|             }, | ||||
|         ), | ||||
|         migrations.AlterUniqueTogether( | ||||
|             name='playbooktemplate', | ||||
|             unique_together=None, | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='account', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='account_policy', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='assets', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='crontab', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='date_last_run', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='interval', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='is_periodic', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='last_execution', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='adhoc', | ||||
|             name='org_id', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='account', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='account_policy', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='assets', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='comment', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='crontab', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='date_last_run', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='interval', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='is_periodic', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='last_execution', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='org_id', | ||||
|         ), | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='template', | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='adhoc', | ||||
|             name='module', | ||||
|             field=models.CharField(choices=[('shell', 'Shell'), ('win_shell', 'Powershell')], default='shell', max_length=128, verbose_name='Module'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='playbook', | ||||
|             name='name', | ||||
|             field=models.CharField(max_length=128, null=True, verbose_name='Name'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='playbook', | ||||
|             name='path', | ||||
|             field=models.FileField(upload_to='playbooks/'), | ||||
|         ), | ||||
|         migrations.DeleteModel( | ||||
|             name='PlaybookExecution', | ||||
|         ), | ||||
|         migrations.DeleteModel( | ||||
|             name='PlaybookTemplate', | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='playbook', | ||||
|             field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='ops.playbook', verbose_name='Playbook'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,42 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-16 10:11 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0029_auto_20221111_1919'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AlterModelOptions( | ||||
|             name='celerytask', | ||||
|             options={'ordering': ('name',)}, | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='variables', | ||||
|             field=models.JSONField(default=dict, verbose_name='Variables'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='celerytask', | ||||
|             name='name', | ||||
|             field=models.CharField(max_length=1024, verbose_name='Name'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='celerytaskexecution', | ||||
|             name='date_finished', | ||||
|             field=models.DateTimeField(null=True, verbose_name='Date finished'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='celerytaskexecution', | ||||
|             name='date_published', | ||||
|             field=models.DateTimeField(auto_now_add=True, verbose_name='Date published'), | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|             model_name='celerytaskexecution', | ||||
|             name='date_start', | ||||
|             field=models.DateTimeField(null=True, verbose_name='Date start'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,28 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-16 12:24 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0030_auto_20221116_1811'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='chdir', | ||||
|             field=models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Chdir'), | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='comment', | ||||
|             field=models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Comment'), | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='timeout', | ||||
|             field=models.IntegerField(default=60, verbose_name='Timeout (Seconds)'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,27 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-17 10:48 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0031_auto_20221116_2024'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.RemoveField( | ||||
|             model_name='job', | ||||
|             name='variables', | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='parameters_define', | ||||
|             field=models.JSONField(default=dict, verbose_name='Parameters define'), | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='jobexecution', | ||||
|             name='parameters', | ||||
|             field=models.JSONField(default=dict, verbose_name='Parameters'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,28 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-18 06:31 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0032_auto_20221117_1848'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='crontab', | ||||
|             field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform'), | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='interval', | ||||
|             field=models.IntegerField(blank=True, default=24, null=True, verbose_name='Cycle perform'), | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='is_periodic', | ||||
|             field=models.BooleanField(default=False), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,18 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-23 09:45 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0033_auto_20221118_1431'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='org_id', | ||||
|             field=models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,18 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-23 10:22 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0034_job_org_id'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AddField( | ||||
|             model_name='jobexecution', | ||||
|             name='org_id', | ||||
|             field=models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,21 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-28 10:39 | ||||
| 
 | ||||
| from django.db import migrations | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0035_jobexecution_org_id'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AlterModelOptions( | ||||
|             name='job', | ||||
|             options={'ordering': ['date_created']}, | ||||
|         ), | ||||
|         migrations.AlterModelOptions( | ||||
|             name='jobexecution', | ||||
|             options={'ordering': ['-date_created']}, | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,26 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-29 07:29 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0035_jobexecution_org_id'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AlterModelOptions( | ||||
|             name='job', | ||||
|             options={'ordering': ['date_created']}, | ||||
|         ), | ||||
|         migrations.AlterModelOptions( | ||||
|             name='jobexecution', | ||||
|             options={'ordering': ['-date_created']}, | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='job', | ||||
|             name='use_parameter_define', | ||||
|             field=models.BooleanField(default=False, verbose_name='Use Parameter Define'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,26 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-29 11:26 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0036_auto_20221129_1529'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.RenameField( | ||||
|             model_name='adhoc', | ||||
|             old_name='owner', | ||||
|             new_name='creator', | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='adhoc', | ||||
|             name='org_id', | ||||
|             field=models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization'), | ||||
|         ), | ||||
|         migrations.DeleteModel( | ||||
|             name='AdHocExecution', | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,18 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-29 11:31 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0037_auto_20221129_1926'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AddField( | ||||
|             model_name='playbook', | ||||
|             name='org_id', | ||||
|             field=models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,25 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-29 11:32 | ||||
| 
 | ||||
| from django.conf import settings | ||||
| from django.db import migrations, models | ||||
| import django.db.models.deletion | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         migrations.swappable_dependency(settings.AUTH_USER_MODEL), | ||||
|         ('ops', '0038_playbook_org_id'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.RemoveField( | ||||
|             model_name='playbook', | ||||
|             name='owner', | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='playbook', | ||||
|             name='creator', | ||||
|             field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Creator'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,14 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-29 11:47 | ||||
| 
 | ||||
| from django.db import migrations | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0036_auto_20221128_1839'), | ||||
|         ('ops', '0039_auto_20221129_1932'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|     ] | ||||
|  | @ -1,23 +0,0 @@ | |||
| # Generated by Django 3.2.14 on 2022-11-29 11:52 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('ops', '0040_merge_0036_auto_20221128_1839_0039_auto_20221129_1932'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AddField( | ||||
|             model_name='adhoc', | ||||
|             name='comment', | ||||
|             field=models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Comment'), | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='playbook', | ||||
|             name='comment', | ||||
|             field=models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Comment'), | ||||
|         ), | ||||
|     ] | ||||
		Loading…
	
		Reference in New Issue
	
	 ibuler
						ibuler