| 
														
															@@ -65,8 +65,17 @@ class MqttConfig(FrigateBaseModel): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return v 
														 | 
														
														 | 
														
															         return v 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+class RetainModeEnum(str, Enum): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    all = "all" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    motion = "motion" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    active_objects = "active_objects" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 class RetainConfig(FrigateBaseModel): 
														 | 
														
														 | 
														
															 class RetainConfig(FrigateBaseModel): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     default: float = Field(default=10, title="Default retention period.") 
														 | 
														
														 | 
														
															     default: float = Field(default=10, title="Default retention period.") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    mode: RetainModeEnum = Field( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        default=RetainModeEnum.active_objects, title="Retain mode." 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     objects: Dict[str, float] = Field( 
														 | 
														
														 | 
														
															     objects: Dict[str, float] = Field( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         default_factory=dict, title="Object retention period." 
														 | 
														
														 | 
														
															         default_factory=dict, title="Object retention period." 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -88,9 +97,18 @@ class EventsConfig(FrigateBaseModel): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+class RecordRetainConfig(FrigateBaseModel): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    days: float = Field(default=0, title="Default retention period.") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    mode: RetainModeEnum = Field(default=RetainModeEnum.all, title="Retain mode.") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 class RecordConfig(FrigateBaseModel): 
														 | 
														
														 | 
														
															 class RecordConfig(FrigateBaseModel): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     enabled: bool = Field(default=False, title="Enable record on all cameras.") 
														 | 
														
														 | 
														
															     enabled: bool = Field(default=False, title="Enable record on all cameras.") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    retain_days: float = Field(default=0, title="Recording retention period in days.") 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    # deprecated - to be removed in a future version 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    retain_days: Optional[float] = Field(title="Recording retention period in days.") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    retain: RecordRetainConfig = Field( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        default_factory=RecordRetainConfig, title="Record retention settings." 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     events: EventsConfig = Field( 
														 | 
														
														 | 
														
															     events: EventsConfig = Field( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         default_factory=EventsConfig, title="Event specific settings." 
														 | 
														
														 | 
														
															         default_factory=EventsConfig, title="Event specific settings." 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -810,6 +828,14 @@ class FrigateConfig(FrigateBaseModel): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     f"Camera {name} has rtmp enabled, but rtmp is not assigned to an input." 
														 | 
														
														 | 
														
															                     f"Camera {name} has rtmp enabled, but rtmp is not assigned to an input." 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ) 
														 | 
														
														 | 
														
															                 ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            # backwards compatibility for retain_days 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if not camera_config.record.retain_days is None: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                logger.warning( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    "The 'retain_days' config option has been DEPRECATED and will be removed in a future version. Please use the 'days' setting under 'retain'" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if camera_config.record.retain.days == 0: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    camera_config.record.retain.days = camera_config.record.retain_days 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             config.cameras[name] = camera_config 
														 | 
														
														 | 
														
															             config.cameras[name] = camera_config 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return config 
														 | 
														
														 | 
														
															         return config 
														 |