class ContainerOnStartMessage:
def __init__(self,
container_name: str = "",
operation_id: int = 0,
server_name: str = "",
apitoken: str = "",
**kwargs):
self.ContainerName = container_name
self.OperationID = operation_id
self.ServerName = server_name
self.APIToken = apitoken
def to_json(self):
return {
"container_name": self.ContainerName,
"operation_id": self.OperationID,
"server_name": self.ServerName,
"apitoken": self.APIToken
}
class ContainerOnStartMessageResponse:
def __init__(self,
ContainerName: str = "",
EventLogInfoMessage: str = "",
EventLogErrorMessage: str = ""):
self.ContainerName = ContainerName
self.EventLogInfoMessage = EventLogInfoMessage
self.EventLogErrorMessage = EventLogErrorMessage
def to_json(self):
return {
"container_name": self.ContainerName,
"stdout": self.EventLogInfoMessage,
"stderr": self.EventLogErrorMessage
}
# define this function inside of any Payload Type, C2 Profile, Eventing, etc etc class
async def on_container_start(self, message: ContainerOnStartMessage) -> ContainerOnStartMessageResponse:
return ContainerOnStartMessageResponse(ContainerName=self.name)