package ddns

config package
	option title 'Dynamic DNS configuration'

config section
	option name	'service'
	option title	'DynDNS service entry'
	option package	'ddns'
	option named	true
	option required	true

config variable
	option name	'enabled'
	option title	'Enable this service entry'
	option section	'ddns.service'
	option datatype	'boolean'

config variable
	option name	'service_name'
	option title	'Name of the DynDNS provider'
	option section	'ddns.service'
	option datatype	'string'

config variable
	option name	'domain'
	option title	'Own DynDNS domain'
	option section	'ddns.service'
	option required	true

config variable
	option name	'username'
	option title	'Account username'
	option section	'ddns.service'
	option required	true

config variable
	option name	'password'
	option title	'Account password'
	option section	'ddns.service'
	option required	true

config variable
	option name	'ip_source'
	option title	'Method to determine current IP address'
	option section	'ddns.service'
	option type		'enum'
	option required	true

config enum
	option variable	'ddns.service.ip_source'
	option value	'network'
	option title	'Read ip address from /etc/config/network'

config enum
	option variable	'ddns.service.ip_source'
	option value	'interface'
	option title	'Determine ip address from given hardware interface'

config enum
	option variable	'ddns.service.ip_source'
	option value	'web'
	option title	'Determine own IP using a remote web page'

config variable
	option name	'ip_network'
	option title	'Configured network to use IP from'
	option section	'ddns.service'
	option depends	'ip_source=network'
	option valueof	'network.interface'

config variable
	option name	'ip_interface'
	option title	'Physical network interface to read IP from'
	option section	'ddns.service'
	option depends	'ip_source=interface'

config variable
	option name	'ip_url'
	option title	'Web page used to determine IP address'
	option section	'ddns.service'
	option depends	'ip_source=web'

config variable
	option name	'update_url'
	option title	'URL format to use for updating DNS information (for yet-unknown providers)'
	option section	'ddns.service'

config variable
	option name	'check_interval'
	option title	'Update check interval'
	option section	'ddns.service'
	option datatype	'integer'
	option required	true

config variable
	option name	'check_unit'
	option title	'Unit for update check interval'
	option section	'ddns.service'
	option type	'enum'
	option required	true

config enum
	option	variable	'ddns.service.check_unit'
	option	value	'seconds'

config enum
	option	variable	'ddns.service.check_unit'
	option	value	'minutes'

config enum
	option	variable	'ddns.service.check_unit'
	option	value	'hours'

config enum
	option	variable	'ddns.service.check_unit'
	option	value	'days'

config variable
	option name	'force_interval'
	option title	'Forced update interval'
	option section	'ddns.service'
	option datatype	'integer'
	option required	true

config variable
	option name	'force_unit'
	option title	'Unit of forced update interval'
	option section	'ddns.service'
	option type	'enum'
	option required	true

config enum
	option	variable	'ddns.service.force_unit'
	option	value	'seconds'

config enum
	option	variable	'ddns.service.force_unit'
	option	value	'minutes'

config enum
	option	variable	'ddns.service.force_unit'
	option	value	'hours'

config enum
	option	variable	'ddns.service.force_unit'
	option	value	'days'
