diff --git a/grid5000/objects.py b/grid5000/objects.py index 01fb6a0f97420731e0de06c349a0797533671b22..55c37fe15285ff9ad47109521d92d73e8b389f42 100644 --- a/grid5000/objects.py +++ b/grid5000/objects.py @@ -27,6 +27,14 @@ class Metric(RESTObject): return super().__repr__() +class Environment(RESTObject): + pass + + +class Pdu(RESTObject): + pass + + class Server(RESTObject): pass @@ -121,9 +129,11 @@ class Site(RESTObject): _managers = ( ("clusters", "ClusterManager"), ("deployments", "DeploymentManager"), + ("environments", "EnvironmentManager"), ("jobs", "JobManager"), ("metrics", "SiteMetricManager"), ("network_equipments", "SiteNetworkEquipmentManager"), + ("pdus", "PduManager"), ("servers", "ServerManager"), ("status", "SiteStatusManager"), ("storage", "StorageManager"), @@ -293,6 +303,12 @@ class DeploymentManager(NoUpdateMixin, BracketMixin, RESTManager): _from_parent_attrs = {"site": "uid"} +class EnvironmentManager(RESTManager, BracketMixin, RetrieveMixin): + _path = "/sites/%(site)s/environments" + _obj_cls = Environment + _from_parent_attrs = {"site": "uid"} + + class VlanManager(RetrieveMixin, BracketMixin, RESTManager): _path = "/sites/%(site)s/vlans" _obj_cls = Vlan @@ -389,6 +405,12 @@ class ClusterStatusManager(RESTManager, RetrieveMixin): _from_parent_attrs = {"site": "site", "cluster": "uid"} +class PduManager(RESTManager, BracketMixin, RetrieveMixin): + _path = "/sites/%(site)s/pdus" + _obj_cls = Pdu + _from_parent_attrs = {"site": "uid"} + + class ServerManager(RESTManager, BracketMixin, RetrieveMixin): _path = "/sites/%(site)s/servers" _obj_cls = Server