/** * {@inheritdoc} */ public function findOneByName($name) { try { return $this->connector->get($this->namespaceClient->prefixPath(sprintf('/secrets/%s', $name)), ['class' => Secret::class]); } catch (ClientError $e) { if ($e->getStatus()->getCode() === 404) { throw new SecretNotFound(); } throw $e; } }
/** * {@inheritdoc} */ public function update(Ingress $ingress) { $ingressName = $ingress->getMetadata()->getName(); $currentIngress = $this->findOneByName($ingressName); if ($ingress->getSpecification() == $currentIngress->getSpecification()) { return $currentIngress; } $url = $this->namespaceClient->prefixPath(sprintf('/ingresses/%s', $ingressName)); $url = '/apis/extensions/v1beta1' . $url; return $this->connector->patch($url, $ingress, ['class' => Ingress::class]); }
/** * {@inheritdoc} */ public function findByLabels(array $labels) { $labelSelector = HttpAdapter::createLabelSelector($labels); $path = $this->namespaceClient->prefixPath('/replicationcontrollers?labelSelector=' . $labelSelector); /** @var ReplicationControllerList $found */ $found = $this->connector->get($path, ['class' => ReplicationControllerList::class]); return $found; }
/** * {@inheritdoc} */ public function delete(Service $service) { try { $path = $this->namespaceClient->prefixPath(sprintf('/services/%s', $service->getMetadata()->getName())); return $this->connector->delete($path, null, ['class' => Status::class]); } catch (ClientError $e) { if ($e->getStatus()->getCode() === 404) { throw new ServiceNotFound(); } throw $e; } }
/** * {@inheritdoc} */ public function create(ServiceAccount $serviceAccount) { return $this->connector->post($this->namespaceClient->prefixPath('/serviceaccounts'), $serviceAccount, ['class' => ServiceAccount::class]); }
/** * Get pod's logs. * * @param Pod $pod * * @return string */ private function getLogs(Pod $pod) { $name = $pod->getMetadata()->getName(); return $this->connector->get($this->namespaceClient->prefixPath(sprintf('/pods/%s/log', $name))); }
/** * {@inheritdoc} */ public function findByObject(KubernetesObject $object) { $url = $this->namespaceClient->prefixPath('/events') . '?' . http_build_query(['fieldSelector' => http_build_query(['involvedObject.kind' => $object->getKind(), 'involvedObject.name' => $object->getMetadata()->getName()], null, ',')]); return $this->connector->get($url, ['class' => EventList::class]); }
/** * {@inheritdoc} */ public function create(PersistentVolumeClaim $claim) { return $this->connector->post($this->namespaceClient->prefixPath('/persistentvolumeclaims'), $claim, ['class' => PersistentVolumeClaim::class]); }
/** * {@inheritdoc} */ public function rollback(Deployment\DeploymentRollback $deploymentRollback) { $url = $this->namespaceClient->prefixPath(sprintf('/deployments/%s/rollback', $deploymentRollback->getName())); $url = '/apis/extensions/v1beta1' . $url; return $this->connector->post($url, $deploymentRollback, ['class' => Deployment\DeploymentRollback::class]); }