@@ -0,0 +1,2349 @@
+package de.cinovo.cloudconductor.api.interfaces;%0A%0Aimport javax.ws.rs.Consumes;%0Aimport javax.ws.rs.GET;%0Aimport javax.ws.rs.PUT;%0Aimport javax.ws.rs.Path;%0Aimport javax.ws.rs.PathParam;%0Aimport javax.ws.rs.Produces;%0A%0Aimport de.cinovo.cloudconductor.api.IRestPath;%0Aimport de.cinovo.cloudconductor.api.MediaType;%0Aimport de.cinovo.cloudconductor.api.model.AgentOption;%0Aimport de.cinovo.cloudconductor.api.model.PackageState;%0Aimport de.cinovo.cloudconductor.api.model.PackageStateChanges;%0Aimport de.cinovo.cloudconductor.api.model.ServiceStates;%0Aimport de.cinovo.cloudconductor.api.model.ServiceStatesChanges;%0A%0A/**%0A * %0A * Copyright 2017 Cinovo AG%3Cbr%3E%0A * %3Cbr%3E%0A * %0A * @author mweise%0A *%0A */%0A@Path(IRestPath.AGENT)%0Apublic interface IAgent %7B%0A%09%0A%09/**%0A%09 * @param template the template name%0A%09 * @param host the host name%0A%09 * @param rpmState the rpm state%0A%09 * @param uuid the UUID of the agent%0A%09 * @return list of instructions with changes to match the template%0A%09 */%0A%09@PUT%0A%09@Path(IRestPath.AGENT_PACKAGE_STATE)%0A%09@Consumes(MediaType.APPLICATION_JSON)%0A%09@Produces(MediaType.APPLICATION_JSON)%0A%09public PackageStateChanges notifyPackageState(@PathParam(IRestPath.VAR_TEMPLATE) String template, @PathParam(IRestPath.VAR_HOST) String host, PackageState rpmState, @PathParam(IRestPath.VAR_UUID) String uuid);%0A%09%0A%09/**%0A%09 * @param template the template name%0A%09 * @param host the host name%0A%09 * @param serviceState the service state%0A%09 * @param uuid the UUID of the agent%0A%09 * @return list of instructions with changes to match the template%0A%09 */%0A%09@PUT%0A%09@Path(IRestPath.AGENT_SERVICE_STATE)%0A%09@Consumes(MediaType.APPLICATION_JSON)%0A%09@Produces(MediaType.APPLICATION_JSON)%0A%09public ServiceStatesChanges notifyServiceState(@PathParam(IRestPath.VAR_TEMPLATE) String template, @PathParam(IRestPath.VAR_HOST) String host, ServiceStates serviceState, @PathParam(IRestPath.VAR_UUID) String uuid);%0A%09%0A%09/**%0A%09 * @param template the template name%0A%09 * @param host the host name%0A%09 * @param agent the agent name%0A%09 * @param uuidString the UUID of the agent%0A%09 * @return the current agent options%0A%09 */%0A%09@GET%0A%09@Path(IRestPath.AGENT_HEART_BEAT)%0A%09@Produces(MediaType.APPLICATION_JSON)%0A%09public AgentOption heartBeat(@PathParam(IRestPath.VAR_TEMPLATE) String template, @PathParam(IRestPath.VAR_HOST) String host, @PathParam(IRestPath.VAR_AGENT) String agent, @PathParam(IRestPath.VAR_UUID) String uuidString);%0A%09%0A%7D%0A

Add interface for agent communication.