|
3 | 3 | namespace RenokiCo\PhpK8s\Kinds; |
4 | 4 |
|
5 | 5 | use Closure; |
6 | | -use Illuminate\Contracts\Support\Arrayable; |
7 | | -use Illuminate\Contracts\Support\Jsonable; |
| 6 | +use Illuminate\Support\Arr; |
8 | 7 | use Illuminate\Support\Str; |
9 | | -use RenokiCo\PhpK8s\Exceptions\KubernetesAPIException; |
10 | | -use RenokiCo\PhpK8s\KubernetesCluster; |
11 | | -use RenokiCo\PhpK8s\Traits\HasAnnotations; |
12 | | -use RenokiCo\PhpK8s\Traits\HasAttributes; |
13 | 8 | use RenokiCo\PhpK8s\Traits\HasKind; |
14 | | -use RenokiCo\PhpK8s\Traits\HasLabels; |
15 | 9 | use RenokiCo\PhpK8s\Traits\HasName; |
16 | | -use RenokiCo\PhpK8s\Traits\HasNamespace; |
| 10 | +use RenokiCo\PhpK8s\Traits\HasLabels; |
| 11 | +use RenokiCo\PhpK8s\KubernetesCluster; |
17 | 12 | use RenokiCo\PhpK8s\Traits\HasVersion; |
| 13 | +use RenokiCo\PhpK8s\Traits\HasNamespace; |
| 14 | +use RenokiCo\PhpK8s\Traits\HasAttributes; |
| 15 | +use Illuminate\Contracts\Support\Jsonable; |
| 16 | +use RenokiCo\PhpK8s\Traits\HasAnnotations; |
| 17 | +use Illuminate\Contracts\Support\Arrayable; |
18 | 18 | use RenokiCo\PhpK8s\Traits\RunsClusterOperations; |
| 19 | +use RenokiCo\PhpK8s\Exceptions\KubernetesAPIException; |
19 | 20 |
|
20 | 21 | class K8sResource implements Arrayable, Jsonable |
21 | 22 | { |
@@ -93,7 +94,14 @@ public function getByName(string $name, array $query = ['pretty' => 1]) |
93 | 94 | */ |
94 | 95 | public function toArray(string $kind = null) |
95 | 96 | { |
96 | | - return array_merge($this->attributes, [ |
| 97 | + $attributes = $this->attributes; |
| 98 | + |
| 99 | + // Make sure to also include the namespace. |
| 100 | + if (static::$namespaceable) { |
| 101 | + Arr::set($attributes, 'metadata.namespace', $this->getNamespace()); |
| 102 | + } |
| 103 | + |
| 104 | + return array_merge($attributes, [ |
97 | 105 | 'kind' => $kind ?: $this::getKind(), |
98 | 106 | 'apiVersion' => $this->getApiVersion(), |
99 | 107 | ]); |
|
0 commit comments