mirror of
				https://github.com/home-assistant/supervisor.git
				synced 2025-11-04 08:29:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Validate some things around restore."""
 | 
						|
 | 
						|
import voluptuous as vol
 | 
						|
 | 
						|
from ..const import (
 | 
						|
    ATTR_REPOSITORIES, ATTR_ADDONS, ATTR_NAME, ATTR_SLUG, ATTR_DATE,
 | 
						|
    ATTR_VERSION, ATTR_HOMEASSISTANT, ATTR_FOLDERS, ATTR_TYPE, ATTR_DEVICES,
 | 
						|
    ATTR_IMAGE, FOLDER_SHARE, FOLDER_HOMEASSISTANT, FOLDER_ADDONS, FOLDER_SSL,
 | 
						|
    SNAPSHOT_FULL, SNAPSHOT_PARTIAL)
 | 
						|
from ..validate import HASS_DEVICES
 | 
						|
 | 
						|
ALL_FOLDERS = [FOLDER_HOMEASSISTANT, FOLDER_SHARE, FOLDER_ADDONS, FOLDER_SSL]
 | 
						|
 | 
						|
# pylint: disable=no-value-for-parameter
 | 
						|
SCHEMA_SNAPSHOT = vol.Schema({
 | 
						|
    vol.Required(ATTR_SLUG): vol.Coerce(str),
 | 
						|
    vol.Required(ATTR_TYPE): vol.In([SNAPSHOT_FULL, SNAPSHOT_PARTIAL]),
 | 
						|
    vol.Required(ATTR_NAME): vol.Coerce(str),
 | 
						|
    vol.Required(ATTR_DATE): vol.Coerce(str),
 | 
						|
    vol.Required(ATTR_HOMEASSISTANT): vol.Schema({
 | 
						|
        vol.Required(ATTR_VERSION): vol.Coerce(str),
 | 
						|
        vol.Optional(ATTR_DEVICES, default=[]): HASS_DEVICES,
 | 
						|
        vol.Optional(ATTR_IMAGE): vol.Coerce(str),
 | 
						|
    }),
 | 
						|
    vol.Optional(ATTR_FOLDERS, default=[]): [vol.In(ALL_FOLDERS)],
 | 
						|
    vol.Optional(ATTR_ADDONS, default=[]): [vol.Schema({
 | 
						|
        vol.Required(ATTR_SLUG): vol.Coerce(str),
 | 
						|
        vol.Required(ATTR_NAME): vol.Coerce(str),
 | 
						|
        vol.Required(ATTR_VERSION): vol.Coerce(str),
 | 
						|
    })],
 | 
						|
    vol.Optional(ATTR_REPOSITORIES, default=[]): [vol.Url()],
 | 
						|
}, extra=vol.ALLOW_EXTRA)
 |