Source code for ocp_resources.route

# -*- coding: utf-8 -*-
from ocp_resources.constants import TIMEOUT_4MINUTES
from ocp_resources.resource import NamespacedResource


[docs]class Route(NamespacedResource): """ OpenShift Route object. """ api_group = NamespacedResource.ApiGroup.ROUTE_OPENSHIFT_IO def __init__( self, name=None, namespace=None, client=None, service=None, destination_ca_cert=None, teardown=True, yaml_file=None, delete_timeout=TIMEOUT_4MINUTES, **kwargs, ): super().__init__( name=name, namespace=namespace, client=client, teardown=teardown, yaml_file=yaml_file, delete_timeout=delete_timeout, **kwargs, ) self.service = service self.destination_ca_cert = destination_ca_cert
[docs] def to_dict(self): super().to_dict() if not self.yaml_file: if self.service: self.res.update( {"spec": {"to": {"kind": "Service", "name": self.service}}} ) if self.destination_ca_cert: self.res["spec"]["tls"] = { "destinationCACertificate": self.destination_ca_cert, "termination": "reencrypt", }
@property def exposed_service(self): """ returns the service the route is exposing """ return self.instance.spec.to.name @property def host(self): """ returns hostname that is exposing the service """ return self.instance.spec.host @property def ca_cert(self): """ returns destinationCACertificate """ return self.instance.spec.tls.destinationCACertificate @property def termination(self): """ returns a secured route using re-encrypt termination """ return self.instance.spec.tls.termination