Skip to content
Snippets Groups Projects
Commit 87bd62aa authored by Yas Naoi's avatar Yas Naoi
Browse files

Issue #3284108 by yas, Xiaohua Guan, shota niioka: Refactor to update K8s resources

parent 0da61b68
Branches
Tags
3 merge requests!1316Issue #3310263: Release 4.5.0,!1260Issue #3307397: Release 4.4.0,!1021Issue #3284108: Refactor to update K8s resources
Showing
with 66 additions and 377 deletions
......@@ -2,13 +2,13 @@
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sApiServiceModel;
use Drupal\k8s\Service\K8sClientExtension\Models\ApiService;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s api services collection.
*/
class K8sApiServiceCollection extends Collection {
class ApiServiceCollection extends Collection {
/**
* The constructor.
......@@ -31,11 +31,11 @@ class K8sApiServiceCollection extends Collection {
*/
protected function getApiServices(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sApiServiceModel) {
if ($item instanceof ApiService) {
continue;
}
$item = new K8sApiServiceModel($item);
$item = new ApiService($item);
}
return $items;
......
......@@ -2,13 +2,13 @@
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sClusterRoleBindingModel;
use Drupal\k8s\Service\K8sClientExtension\Models\ClusterRoleBinding;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s cluster role bindings collection.
*/
class K8sClusterRoleBindingCollection extends Collection {
class ClusterRoleBindingCollection extends Collection {
/**
* The constructor.
......@@ -31,11 +31,11 @@ class K8sClusterRoleBindingCollection extends Collection {
*/
protected function getClusterRoleBindings(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sClusterRoleBindingModel) {
if ($item instanceof ClusterRoleBinding) {
continue;
}
$item = new K8sClusterRoleBindingModel($item);
$item = new ClusterRoleBinding($item);
}
return $items;
......
......@@ -2,13 +2,13 @@
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sClusterRoleModel;
use Drupal\k8s\Service\K8sClientExtension\Models\ClusterRole;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s cluster roles collection.
*/
class K8sClusterRoleCollection extends Collection {
class ClusterRoleCollection extends Collection {
/**
* The constructor.
......@@ -31,11 +31,11 @@ class K8sClusterRoleCollection extends Collection {
*/
protected function getClusterRoles(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sClusterRoleModel) {
if ($item instanceof ClusterRole) {
continue;
}
$item = new K8sClusterRoleModel($item);
$item = new ClusterRole($item);
}
return $items;
......
<?php
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sDaemonSetModel;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s DaemonSets collection.
*/
class K8sDaemonSetCollection extends Collection {
/**
* The constructor.
*
* @param array $items
* The items.
*/
public function __construct(array $items) {
parent::__construct($this->getDaemonSets($items));
}
/**
* Get an array of K8s DaemonSets.
*
* @param array $items
* The items.
*
* @return array
* The array of K8s DaemonSets.
*/
protected function getDaemonSets(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sDaemonSetModel) {
continue;
}
$item = new K8sDaemonSetModel($item);
}
return $items;
}
}
<?php
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sHorizontalPodAutoscalerModel;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s priority classes collection.
*/
class K8sHorizontalPodAutoscalerCollection extends Collection {
/**
* The constructor.
*
* @param array $items
* The items.
*/
public function __construct(array $items) {
parent::__construct($this->getHorizontalPodAutoscalers($items));
}
/**
* Get an array of horizontal pod autoscalers.
*
* @param array $items
* The items.
*
* @return array
* The array of roles.
*/
protected function getHorizontalPodAutoscalers(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sHorizontalPodAutoscalerModel) {
continue;
}
$item = new K8sHorizontalPodAutoscalerModel($item);
}
return $items;
}
}
<?php
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sReplicaSetModel;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s ReplicaSets collection.
*/
class K8sReplicaSetCollection extends Collection {
/**
* The constructor.
*
* @param array $items
* The items.
*/
public function __construct(array $items) {
parent::__construct($this->getReplicaSets($items));
}
/**
* Get an array of K8s ReplicaSets.
*
* @param array $items
* The items.
*
* @return array
* The array of K8s ReplicaSets.
*/
protected function getReplicaSets(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sReplicaSetModel) {
continue;
}
$item = new K8sReplicaSetModel($item);
}
return $items;
}
}
<?php
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sRoleBindingModel;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s role bindings collection.
*/
class K8sRoleBindingCollection extends Collection {
/**
* The constructor.
*
* @param array $items
* The items.
*/
public function __construct(array $items) {
parent::__construct($this->getRoleBindings($items));
}
/**
* Get an array of role bindings.
*
* @param array $items
* The items.
*
* @return array
* The array of roles.
*/
protected function getRoleBindings(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sRoleBindingModel) {
continue;
}
$item = new K8sRoleBindingModel($item);
}
return $items;
}
}
<?php
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sRoleModel;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s roles collection.
*/
class K8sRoleCollection extends Collection {
/**
* The constructor.
*
* @param array $items
* The items.
*/
public function __construct(array $items) {
parent::__construct($this->getRoles($items));
}
/**
* Get an array of roles.
*
* @param array $items
* The items.
*
* @return array
* The array of roles.
*/
protected function getRoles(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sRoleModel) {
continue;
}
$item = new K8sRoleModel($item);
}
return $items;
}
}
<?php
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sServiceAccountModel;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s ServiceAccounts collection.
*/
class K8sServiceAccountCollection extends Collection {
/**
* The constructor.
*
* @param array $items
* The items.
*/
public function __construct(array $items) {
parent::__construct($this->getServiceAccounts($items));
}
/**
* Get an array of K8s ServiceAccounts.
*
* @param array $items
* The items.
*
* @return array
* The array of K8s ServiceAccounts.
*/
protected function getServiceAccounts(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sServiceAccountModel) {
continue;
}
$item = new K8sServiceAccountModel($item);
}
return $items;
}
}
......@@ -2,13 +2,13 @@
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sLimitRangeModel;
use Drupal\k8s\Service\K8sClientExtension\Models\LimitRange;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s LimitRanges collection.
*/
class K8sLimitRangeCollection extends Collection {
class LimitRangeCollection extends Collection {
/**
* The constructor.
......@@ -31,11 +31,11 @@ class K8sLimitRangeCollection extends Collection {
*/
protected function getLimitRanges(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sLimitRangeModel) {
if ($item instanceof LimitRange) {
continue;
}
$item = new K8sLimitRangeModel($item);
$item = new LimitRange($item);
}
return $items;
......
......@@ -2,13 +2,13 @@
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sMetricsNodeModel;
use Drupal\k8s\Service\K8sClientExtension\Models\MetricsNode;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s metrics nodes collection.
*/
class K8sMetricsNodeCollection extends Collection {
class MetricsNodeCollection extends Collection {
/**
* The constructor.
......@@ -31,11 +31,11 @@ class K8sMetricsNodeCollection extends Collection {
*/
protected function getMetricsNodes(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sMetricsNodeModel) {
if ($item instanceof MetricsNode) {
continue;
}
$item = new K8sMetricsNodeModel($item);
$item = new MetricsNode($item);
}
return $items;
......
......@@ -2,13 +2,13 @@
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sMetricsPodModel;
use Drupal\k8s\Service\K8sClientExtension\Models\MetricsPod;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s metrics pods collection.
*/
class K8sMetricsPodCollection extends Collection {
class MetricsPodCollection extends Collection {
/**
* The constructor.
......@@ -31,11 +31,11 @@ class K8sMetricsPodCollection extends Collection {
*/
protected function getMetricsPods(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sMetricsPodModel) {
if ($item instanceof MetricsPod) {
continue;
}
$item = new K8sMetricsPodModel($item);
$item = new MetricsPod($item);
}
return $items;
......
......@@ -2,13 +2,13 @@
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sPriorityClassModel;
use Drupal\k8s\Service\K8sClientExtension\Models\PriorityClass;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s priority classes collection.
*/
class K8sPriorityClassCollection extends Collection {
class PriorityClassCollection extends Collection {
/**
* The constructor.
......@@ -31,11 +31,11 @@ class K8sPriorityClassCollection extends Collection {
*/
protected function getPriorityClasses(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sPriorityClassModel) {
if ($item instanceof PriorityClass) {
continue;
}
$item = new K8sPriorityClassModel($item);
$item = new PriorityClass($item);
}
return $items;
......
......@@ -2,13 +2,13 @@
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sStatefulSetModel;
use Drupal\k8s\Service\K8sClientExtension\Models\StatefulSet;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s StatefulSets collection.
*/
class K8sStatefulSetCollection extends Collection {
class StatefulSetCollection extends Collection {
/**
* The constructor.
......@@ -31,11 +31,11 @@ class K8sStatefulSetCollection extends Collection {
*/
protected function getStatefulSets(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sStatefulSetModel) {
if ($item instanceof StatefulSet) {
continue;
}
$item = new K8sStatefulSetModel($item);
$item = new StatefulSet($item);
}
return $items;
......
......@@ -2,13 +2,13 @@
namespace Drupal\k8s\Service\K8sClientExtension\Collections;
use Drupal\k8s\Service\K8sClientExtension\Models\K8sStorageClassModel;
use Drupal\k8s\Service\K8sClientExtension\Models\StorageClass;
use Maclof\Kubernetes\Collections\Collection;
/**
* K8s storage classes collection.
*/
class K8sStorageClassCollection extends Collection {
class StorageClassCollection extends Collection {
/**
* The constructor.
......@@ -31,11 +31,11 @@ class K8sStorageClassCollection extends Collection {
*/
protected function getStorageClasses(array $items): array {
foreach ($items ?: [] as &$item) {
if ($item instanceof K8sStorageClassModel) {
if ($item instanceof StorageClass) {
continue;
}
$item = new K8sStorageClassModel($item);
$item = new StorageClass($item);
}
return $items;
......
......@@ -2,23 +2,16 @@
namespace Drupal\k8s\Service\K8sClientExtension;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sApiServiceRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sClusterRoleBindingRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sClusterRoleRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sDaemonSetRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sHorizontalPodAutoscalerRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sLimitRangeRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sMetricsNodeRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sMetricsPodRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sPersistentVolumeRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sPriorityClassRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\ApiServiceRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\ClusterRoleBindingRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\ClusterRoleRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\LimitRangeRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\MetricsNodeRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\MetricsPodRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\PriorityClassRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sQuotaRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sReplicaSetRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sRoleBindingRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sRoleRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sServiceAccountRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sStatefulSetRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\K8sStorageClassRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\StatefulSetRepository;
use Drupal\k8s\Service\K8sClientExtension\Repositories\StorageClassRepository;
use Maclof\Kubernetes\RepositoryRegistry;
/**
......@@ -32,56 +25,35 @@ class K8sRepositoryRegistry extends RepositoryRegistry {
public function __construct() {
parent::__construct();
// Change the repository of quotas.
$this->map['quotas'] = K8sQuotaRepository::class;
// Change the repository of K8s LimitRanges.
$this->map['limitRanges'] = K8sLimitRangeRepository::class;
// Add the repository of metrics pods.
$this->map['metricsPods'] = K8sMetricsPodRepository::class;
// Add the repository of metrics nodes.
$this->map['metricsNodes'] = K8sMetricsNodeRepository::class;
// Add the repository of roles.
$this->map['roles'] = K8sRoleRepository::class;
// Add the repository of role bindings.
$this->map['roleBindings'] = K8sRoleBindingRepository::class;
// Add the repository of api services.
$this->map['apiServices'] = ApiServiceRepository::class;
// Add the repository of cluster roles.
$this->map['clusterRoles'] = K8sClusterRoleRepository::class;
$this->map['clusterRoles'] = ClusterRoleRepository::class;
// Add the repository of cluster role bindings.
$this->map['clusterRoleBindings'] = K8sClusterRoleBindingRepository::class;
// Add the repository of storage classes.
$this->map['storageClasses'] = K8sStorageClassRepository::class;
$this->map['clusterRoleBindings'] = ClusterRoleBindingRepository::class;
// Add the repository of K8s StatefulSets.
$this->map['statefulSets'] = K8sStatefulSetRepository::class;
// Add the repository of api services.
$this->map['apiServices'] = K8sApiServiceRepository::class;
// Add the repository of K8s ServiceAccounts.
$this->map['serviceAccounts'] = K8sServiceAccountRepository::class;
// Change the repository of K8s LimitRanges.
$this->map['limitRanges'] = LimitRangeRepository::class;
// Add the repository of K8s ReplicaSets.
$this->map['replicaSets'] = K8sReplicaSetRepository::class;
// Add the repository of metrics nodes.
$this->map['metricsNodes'] = MetricsNodeRepository::class;
// Add the repository of K8s DaemonSets.
$this->map['daemonSets'] = K8sDaemonSetRepository::class;
// Add the repository of metrics pods.
$this->map['metricsPods'] = MetricsPodRepository::class;
// Add the repository of priority classes.
$this->map['priorityClasses'] = K8sPriorityClassRepository::class;
$this->map['priorityClasses'] = PriorityClassRepository::class;
// Change the repository of quotas.
$this->map['quotas'] = K8sQuotaRepository::class;
// Add the repository of horizontal pod autoscalers.
$this->map['horizontalPodAutoscaler'] = K8sHorizontalPodAutoscalerRepository::class;
// Add the repository of storage classes.
$this->map['storageClasses'] = StorageClassRepository::class;
// Add the repository of persistent volumes.
$this->map['persistentVolume'] = K8sPersistentVolumeRepository::class;
// Add the repository of K8s StatefulSets.
$this->map['statefulSets'] = StatefulSetRepository::class;
}
}
......@@ -7,7 +7,7 @@ use Maclof\Kubernetes\Models\Model;
/**
* K8s api services model.
*/
class K8sApiServiceModel extends Model {
class ApiService extends Model {
/**
* The api version.
......
......@@ -7,7 +7,7 @@ use Maclof\Kubernetes\Models\Model;
/**
* K8s cluster roles model.
*/
class K8sClusterRoleModel extends Model {
class ClusterRole extends Model {
/**
* The api version.
......
......@@ -7,7 +7,7 @@ use Maclof\Kubernetes\Models\Model;
/**
* K8s cluster role bindings model.
*/
class K8sClusterRoleBindingModel extends Model {
class ClusterRoleBinding extends Model {
/**
* The api version.
......
<?php
namespace Drupal\k8s\Service\K8sClientExtension\Models;
use Maclof\Kubernetes\Models\Model;
/**
* K8s DaemonSet model.
*/
class K8sDaemonSetModel extends Model {
/**
* The api version.
*
* @var string
*/
protected string $apiVersion = 'apps/v1';
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment