33
44
55class Certificate (Resource ):
6+ api_version = 'certmanager.k8s.io/v1alpha1'
7+ api_prefix = 'apis'
68
7- def manifest (self , namespace , name , ingress_class , hosts , version = None ):
9+ def manifest (self , api_version , namespace , name , ingress_class , hosts , version = None ):
810 data = {
9- "apiVersion" : "certmanager.k8s.io/v1alpha1" ,
11+ "apiVersion" : api_version ,
1012 "kind" : "Certificate" ,
1113 "metadata" : {
1214 "name" : name ,
@@ -42,9 +44,10 @@ def get(self, namespace, name=None, **kwargs):
4244 if name is not None :
4345 url = "/apis/certmanager.k8s.io/v1alpha1/namespaces/%s/certificates/%s" % (
4446 namespace , name )
47+ url = self .api ('/namespaces/{}/certificates/{}' , namespace , name )
4548 message = 'get certificate ' + name
4649 else :
47- url = "/apis/certmanager.k8s.io/v1alpha1/ namespaces/%s /certificates" % namespace
50+ url = self . api ( '/ namespaces/{} /certificates' , namespace )
4851 message = 'get certificates'
4952 response = self .http_get (url )
5053 if self .unhealthy (response .status_code ):
@@ -53,8 +56,9 @@ def get(self, namespace, name=None, **kwargs):
5356 return response
5457
5558 def create (self , namespace , name , ingress_class , hosts ):
56- url = "/apis/certmanager.k8s.io/v1alpha1/namespaces/%s/certificates" % namespace
57- data = self .manifest (namespace , name , ingress_class , hosts )
59+
60+ url = self .api ('/namespaces/{}/certificates' , namespace )
61+ data = self .manifest (self .api_version , namespace , name , ingress_class , hosts )
5862 response = self .http_post (url , json = data )
5963
6064 if not response .status_code == 201 :
@@ -63,8 +67,8 @@ def create(self, namespace, name, ingress_class, hosts):
6367 return response
6468
6569 def put (self , namespace , name , ingress_class , hosts , version ):
66- url = "/apis/certmanager.k8s.io/v1alpha1/ namespaces/%s /certificates/%s" % ( namespace , name )
67- data = self .manifest (namespace , name , ingress_class , hosts , version )
70+ url = self . api ( '/ namespaces/{} /certificates/{}' , namespace , name )
71+ data = self .manifest (self . api_version , namespace , name , ingress_class , hosts , version )
6872 response = self .http_put (url , json = data )
6973
7074 if self .unhealthy (response .status_code ):
@@ -75,7 +79,7 @@ def delete(self, namespace, name):
7579 """
7680 Delete certificate
7781 """
78- url = "/apis/certmanager.k8s.io/v1alpha1/ namespaces/%s /certificates/%s" % ( namespace , name )
82+ url = self . api ( '/ namespaces/{} /certificates/{}' , namespace , name )
7983 response = self .http_delete (url )
8084 if self .unhealthy (response .status_code ):
8185 raise KubeHTTPException (response , 'delete certificate ' + name )
0 commit comments