示例#1
0
    def save(self, *args, **kwargs):
        from alerts.tasks import cache_agents_alert_template
        from automation.tasks import generate_agent_checks_task

        if not self.pk and CoreSettings.objects.exists():
            raise ValidationError(
                "There can only be one CoreSettings instance")

        # for install script
        if not self.pk:
            try:
                self.mesh_site = settings.MESH_SITE
                self.mesh_username = settings.MESH_USERNAME
                self.mesh_token = settings.MESH_TOKEN_KEY
            except:
                pass

        old_settings = type(self).objects.get(pk=self.pk) if self.pk else None
        super(BaseAuditModel, self).save(*args, **kwargs)

        # check if server polcies have changed and initiate task to reapply policies if so
        if (old_settings and old_settings.server_policy != self.server_policy
            ) or (old_settings and
                  old_settings.workstation_policy != self.workstation_policy):
            generate_agent_checks_task.delay(all=True, create_tasks=True)

        if old_settings and old_settings.alert_template != self.alert_template:
            cache_agents_alert_template.delay()
示例#2
0
    def save(self, *args, **kw):
        from alerts.tasks import cache_agents_alert_template
        from automation.tasks import generate_agent_checks_by_location_task

        # get old client if exists
        old_client = type(self).objects.get(pk=self.pk) if self.pk else None
        super(BaseAuditModel, self).save(*args, **kw)

        # check if server polcies have changed and initiate task to reapply policies if so
        if old_client and old_client.server_policy != self.server_policy:
            generate_agent_checks_by_location_task.delay(
                location={"site__client_id": self.pk},
                mon_type="server",
                create_tasks=True,
            )

        # check if workstation polcies have changed and initiate task to reapply policies if so
        if old_client and old_client.workstation_policy != self.workstation_policy:
            generate_agent_checks_by_location_task.delay(
                location={"site__client_id": self.pk},
                mon_type="workstation",
                create_tasks=True,
            )

        if old_client and old_client.alert_template != self.alert_template:
            cache_agents_alert_template.delay()
示例#3
0
    def save(self, *args, **kw):
        from alerts.tasks import cache_agents_alert_template
        from automation.tasks import generate_agent_checks_task

        # get old client if exists
        old_client = type(self).objects.get(pk=self.pk) if self.pk else None
        super(BaseAuditModel, self).save(*args, **kw)

        # check if polcies have changed and initiate task to reapply policies if so
        if old_client:
            if (
                (old_client.server_policy != self.server_policy)
                or (old_client.workstation_policy != self.workstation_policy)
                or (
                    old_client.block_policy_inheritance != self.block_policy_inheritance
                )
            ):

                generate_agent_checks_task.delay(
                    client=self.pk,
                    create_tasks=True,
                )

            if old_client.alert_template != self.alert_template:
                cache_agents_alert_template.delay()
示例#4
0
    def save(self, *args, **kwargs):
        from automation.tasks import generate_agent_checks_from_policies_task
        from alerts.tasks import cache_agents_alert_template

        # get old policy if exists
        old_policy = type(self).objects.get(pk=self.pk) if self.pk else None
        super(BaseAuditModel, self).save(*args, **kwargs)

        # generate agent checks only if active and enforced were changed
        if old_policy:
            if old_policy.active != self.active or old_policy.enforced != self.enforced:
                generate_agent_checks_from_policies_task.delay(
                    policypk=self.pk,
                    create_tasks=True,
                )

            if old_policy.alert_template != self.alert_template:
                cache_agents_alert_template.delay()