karbor/doc/source/api-service-class-diagram.pu

58 lines
1.5 KiB
Plaintext

@startuml
title API Service Class Diagram
class wsgi.Controller{
}
class ProvidersController extends wsgi.Controller{
+index(self, req):[]Provider
+show(self, req, provider_id:String):Provider
}
class CheckpointsController extends wsgi.Controller{
+index(self, req, provider_id:String):[]Checkpoint
+create(self, req, body:JSON, provider_id:String):Checkpoint
+show(self, req, provider_id:String, checkpoint_id:String):):Checkpoint
+delete(self, req, provider_id:String, checkpoint_id:String):):void
}
class ProtectablesController extends wsgi.Controller{
+index(self, req):[]Protectable
+show(self, req, protectable_type:String):[]Protectable
+index_instances(self, req, protectable_type:String):[]Resource
}
class PlansController extends wsgi.Controller{
+create(self, req, body:JSON):Plan
+index(self, req):[]Plan
+show(self, req, id:String):Plan
+update(self, req, id:String):Plan
+delete(self, req, id:String):void
}
class ScheduledOperationsController extends wsgi.Controller{
+create(self, req, body:JSON):ScheduledOperation
+index(self, req):[]ScheduledOperation
+show(self, req, id:String):ScheduledOperation
+delete(self, req, id:String):void
}
class RestorationsController extends wsgi.Controller{
+create(self, req, body:JSON):Restoration
+index(self, req):[]Restoration
+show(self, req, id:String):Restoration
}
class TriggersController extends wsgi.Controller{
+create(self, req, body:JSON):Trigger
+index(self, req):[]Trigger
+show(self, req, id:String):Trigger
+delete(self, req, id:String):void
}
@enduml