execute($firewallRule); }); } protected function casts(): array { return [ 'status' => FirewallRuleStatus::class, 'type' => FirewallRuleType::class, ]; } public function server(): BelongsTo { return $this->belongsTo(Server::class); } public function command(bool $delete = false): string { $command = 'ufw'; if ($delete) { $command .= ' delete'; } if ($this->type === 'allow') { $command .= ' allow'; } elseif ($this->type === 'deny') { $command .= ' deny'; } if ($this->from) { $command .= " from {$this->from}"; $command .= ' to any port'; } $command .= " {$this->ports}"; return $command; } }