1919 IsOptionalField ,
2020 IsIncludable ,
2121 get_includable_names ,
22+ build_filter_params ,
2223)
2324from flame_hub ._exceptions import new_hub_api_error_from_response
2425from flame_hub ._defaults import DEFAULT_CORE_BASE_URL
@@ -155,18 +156,6 @@ class MasterImage(BaseModel):
155156 updated_at : datetime
156157
157158
158- class MasterImageEventLog (BaseModel ):
159- id : uuid .UUID
160- name : str
161- data : dict | None = None # Hub resource does not have a "data" key if there is no data.
162- expiring : bool
163- expires_at : datetime
164- master_image_id : uuid .UUID | None
165- master_image : t .Annotated [MasterImage | None , IsIncludable ] = None
166- created_at : datetime
167- updated_at : datetime
168-
169-
170159class CreateProject (BaseModel ):
171160 description : str | None
172161 master_image_id : t .Annotated [uuid .UUID | None , Field (), WrapValidator (uuid_validator )]
@@ -216,6 +205,16 @@ class UpdateProjectNode(BaseModel):
216205 approval_status : ProjectNodeApprovalStatus | None | UNSET_T = UNSET
217206
218207
208+ LogLevel = t .Literal ["emerg" , "alert" , "crit" , "error" , "warn" , "notice" , "info" , "debug" ]
209+
210+
211+ class Log (BaseModel ):
212+ time : str | int
213+ message : str | None
214+ level : LogLevel
215+ labels : dict [str , str | None ]
216+
217+
219218AnalysisBuildStatus = t .Literal ["starting" , "started" , "stopping" , "stopped" , "finished" , "failed" ]
220219AnalysisRunStatus = t .Literal ["starting" , "started" , "running" , "stopping" , "stopped" , "finished" , "failed" ]
221220
@@ -267,23 +266,6 @@ class UpdateAnalysis(BaseModel):
267266]
268267
269268
270- class AnalysisLog (BaseModel ):
271- id : uuid .UUID
272- component : str | None
273- command : str | None
274- event : str | None
275- error : bool
276- error_code : str | None
277- status : str | None
278- status_message : str | None
279- meta : str | None
280- created_at : datetime
281- updated_at : datetime
282- analysis_id : uuid .UUID
283- analysis : t .Annotated [Analysis , IsIncludable ] = None
284- realm_id : uuid .UUID
285-
286-
287269class CreateAnalysisNode (BaseModel ):
288270 analysis_id : t .Annotated [uuid .UUID , Field (), WrapValidator (uuid_validator )]
289271 node_id : t .Annotated [uuid .UUID , Field (), WrapValidator (uuid_validator )]
@@ -298,7 +280,6 @@ class AnalysisNode(CreateAnalysisNode):
298280 approval_status : AnalysisNodeApprovalStatus | None
299281 run_status : AnalysisNodeRunStatus | None
300282 comment : str | None
301- index : int
302283 artifact_tag : str | None
303284 artifact_digest : str | None
304285 created_at : datetime
@@ -318,27 +299,10 @@ class UpdateAnalysisNode(BaseModel):
318299class CreateAnalysisNodeLog (BaseModel ):
319300 analysis_id : t .Annotated [uuid .UUID , Field (), WrapValidator (uuid_validator )]
320301 node_id : uuid .UUID
321- error : bool
322- error_code : str | None
302+ code : str | None
323303 status : str
324- status_message : str | None
325-
326-
327- class AnalysisNodeLog (CreateAnalysisNodeLog ):
328- id : uuid .UUID
329- created_at : datetime
330- updated_at : datetime
331- analysis : t .Annotated [Analysis , IsIncludable ] = None
332- node : t .Annotated [Node , IsIncludable ] = None
333- analysis_realm_id : uuid .UUID
334- node_realm_id : uuid .UUID
335-
336-
337- class UpdateAnalysisNodeLog (BaseModel ):
338- error : bool | UNSET_T = UNSET
339- error_code : str | None | UNSET_T = UNSET
340- status : str | UNSET_T = UNSET
341- status_message : str | None | UNSET_T = UNSET
304+ message : str | None
305+ level : LogLevel
342306
343307
344308AnalysisBucketType = t .Literal ["CODE" , "RESULT" , "TEMP" ]
@@ -477,27 +441,6 @@ def get_master_image(
477441 def find_master_images (self , ** params : te .Unpack [FindAllKwargs ]) -> list [MasterImage ]:
478442 return self ._find_all_resources (MasterImage , "master-images" , ** params )
479443
480- def get_master_image_event_log (
481- self , master_image_event_log_id : MasterImageEventLog | uuid .UUID | str , ** params : te .Unpack [GetKwargs ]
482- ) -> MasterImageEventLog | None :
483- return self ._get_single_resource (
484- MasterImageEventLog ,
485- "master-image-event-logs" ,
486- master_image_event_log_id ,
487- include = get_includable_names (MasterImageEventLog ),
488- ** params ,
489- )
490-
491- def get_master_image_event_logs (self , ** params : te .Unpack [GetKwargs ]) -> list [MasterImageEventLog ]:
492- return self ._get_all_resources (
493- MasterImageEventLog , "master-image-event-logs" , include = get_includable_names (MasterImageEventLog ), ** params
494- )
495-
496- def find_master_image_event_logs (self , ** params : te .Unpack [FindAllKwargs ]) -> list [MasterImageEventLog ]:
497- return self ._find_all_resources (
498- MasterImageEventLog , "master-image-event-logs" , include = get_includable_names (MasterImageEventLog ), ** params
499- )
500-
501444 def get_projects (self , ** params : te .Unpack [GetKwargs ]) -> list [Project ]:
502445 return self ._get_all_resources (Project , "projects" , include = get_includable_names (Project ), ** params )
503446
@@ -697,62 +640,37 @@ def create_analysis_node_log(
697640 self ,
698641 analysis_id : Analysis | uuid .UUID | str ,
699642 node_id : Node | uuid .UUID | str ,
700- error : bool ,
701- error_code : str = None ,
702- status : str = "" ,
703- status_message : str = None ,
704- ) -> AnalysisNodeLog :
643+ level : LogLevel ,
644+ status : str ,
645+ code : str = None ,
646+ message : str = None ,
647+ ) -> Log :
705648 return self ._create_resource (
706- AnalysisNodeLog ,
649+ Log ,
707650 CreateAnalysisNodeLog (
708651 analysis_id = obtain_uuid_from (analysis_id ),
709652 node_id = obtain_uuid_from (node_id ),
710- error = error ,
711- error_code = error_code ,
653+ code = code ,
712654 status = status ,
713- status_message = status_message ,
655+ message = message ,
656+ level = level ,
714657 ),
715658 "analysis-node-logs" ,
716659 )
717660
718- def get_analysis_node_log (
719- self , analysis_node_log_id : AnalysisNodeLog | uuid .UUID | str , ** params : te .Unpack [GetKwargs ]
720- ) -> AnalysisNodeLog | None :
721- return self ._get_single_resource (
722- AnalysisNodeLog ,
723- "analysis-node-logs" ,
724- analysis_node_log_id ,
725- include = get_includable_names (AnalysisNodeLog ),
726- ** params ,
727- )
728-
729- def delete_analysis_node_log (self , analysis_node_log_id : AnalysisNodeLog | uuid .UUID | str ):
730- self ._delete_resource ("analysis-node-logs" , analysis_node_log_id )
731-
732- def get_analysis_node_logs (self , ** params : te .Unpack [GetKwargs ]) -> list [AnalysisNodeLog ]:
733- return self ._get_all_resources (
734- AnalysisNodeLog , "analysis-node-logs" , include = get_includable_names (AnalysisNodeLog ), ** params
661+ def delete_analysis_node_logs (self , analysis_id : Analysis | uuid .UUID | str , node_id : Node | uuid .UUID | str ):
662+ r = self ._client .delete (
663+ "/analysis-node-logs" ,
664+ params = build_filter_params (
665+ {"analysis_id" : str (obtain_uuid_from (analysis_id )), "node_id" : str (obtain_uuid_from (node_id ))}
666+ ),
735667 )
736668
737- def find_analysis_node_logs (self , ** params : te .Unpack [FindAllKwargs ]) -> list [AnalysisNodeLog ]:
738- return self ._find_all_resources (
739- AnalysisNodeLog , "analysis-node-logs" , include = get_includable_names (AnalysisNodeLog ), ** params
740- )
669+ if r .status_code != httpx .codes .ACCEPTED .value :
670+ raise new_hub_api_error_from_response (r )
741671
742- def update_analysis_node_log (
743- self ,
744- analysis_node_log_id : AnalysisNodeLog | uuid .UUID | str ,
745- error : bool | UNSET_T = UNSET ,
746- error_code : str | None | UNSET_T = UNSET ,
747- status : str | UNSET_T = UNSET ,
748- status_message : str | None | UNSET_T = UNSET ,
749- ) -> AnalysisNodeLog :
750- return self ._update_resource (
751- AnalysisNodeLog ,
752- UpdateAnalysisNodeLog (error = error , error_code = error_code , status = status , status_message = status_message ),
753- "analysis-node-logs" ,
754- analysis_node_log_id ,
755- )
672+ def find_analysis_node_logs (self , ** params : te .Unpack [FindAllKwargs ]) -> list [Log ]:
673+ return self ._find_all_resources (Log , "analysis-node-logs" , ** params )
756674
757675 def get_analysis_buckets (self , ** params : te .Unpack [GetKwargs ]) -> list [AnalysisBucket ]:
758676 return self ._get_all_resources (
@@ -939,22 +857,14 @@ def find_registry_projects(self, **params: te.Unpack[FindAllKwargs]) -> list[Reg
939857 ** params ,
940858 )
941859
942- def get_analysis_log (
943- self , analysis_log_id : AnalysisLog | uuid .UUID | str , ** params : te .Unpack [GetKwargs ]
944- ) -> AnalysisLog | None :
945- return self ._get_single_resource (
946- AnalysisLog , "analysis-logs" , analysis_log_id , include = get_includable_names (AnalysisLog ), ** params
860+ def delete_analysis_logs (self , analysis_id : Analysis | uuid .UUID | str ):
861+ r = self ._client .delete (
862+ "/analysis-logs" ,
863+ params = build_filter_params ({"analysis_id" : str (obtain_uuid_from (analysis_id ))}),
947864 )
948865
949- def delete_analysis_log (self , analysis_log_id : AnalysisLog | uuid .UUID | str ):
950- self ._delete_resource ("analysis-logs" , analysis_log_id )
951-
952- def get_analysis_logs (self , ** params : te .Unpack [GetKwargs ]) -> list [AnalysisLog ]:
953- return self ._get_all_resources (
954- AnalysisLog , "analysis-logs" , include = get_includable_names (AnalysisLog ), ** params
955- )
866+ if r .status_code != httpx .codes .ACCEPTED .value :
867+ raise new_hub_api_error_from_response (r )
956868
957- def find_analysis_logs (self , ** params : te .Unpack [FindAllKwargs ]) -> list [AnalysisLog ]:
958- return self ._find_all_resources (
959- AnalysisLog , "analysis-logs" , include = get_includable_names (AnalysisLog ), ** params
960- )
869+ def find_analysis_logs (self , ** params : te .Unpack [FindAllKwargs ]) -> list [Log ]:
870+ return self ._find_all_resources (Log , "analysis-logs" , ** params )
0 commit comments