Page Menu
Home
VyOS Platform
Search
Configure Global Search
Log In
Files
F118306544
configfs.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
configfs.py
View Options
# Copyright VyOS maintainers and contributors <maintainers@vyos.io>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library. If not, see <http://www.gnu.org/licenses/>.
# pylint: disable=import-outside-toplevel
import
os
from
vyos.utils.backend
import
vyconf_backend
from
vyos.utils.boot
import
boot_configuration_complete
def
delete_cli_node
(
cli_path
:
list
):
if
vyconf_backend
()
and
boot_configuration_complete
():
# pylint: disable=redefined-outer-name
from
vyos.utils.session
import
delete_cli_node
delete_cli_node
(
cli_path
)
else
:
from
shutil
import
rmtree
for
config_dir
in
[
'VYATTA_TEMP_CONFIG_DIR'
,
'VYATTA_CHANGES_ONLY_DIR'
]:
tmp
=
os
.
path
.
join
(
os
.
environ
[
config_dir
],
'/'
.
join
(
cli_path
))
# delete CLI node
if
os
.
path
.
exists
(
tmp
):
rmtree
(
tmp
)
def
add_cli_node
(
cli_path
:
list
,
value
:
str
=
None
):
if
vyconf_backend
()
and
boot_configuration_complete
():
# pylint: disable=redefined-outer-name
from
vyos.utils.session
import
add_cli_node
add_cli_node
(
cli_path
,
value
)
else
:
from
vyos.utils.auth
import
get_current_user
from
vyos.utils.file
import
write_file
current_user
=
get_current_user
()
for
config_dir
in
[
'VYATTA_TEMP_CONFIG_DIR'
,
'VYATTA_CHANGES_ONLY_DIR'
]:
# store new value
tmp
=
os
.
path
.
join
(
os
.
environ
[
config_dir
],
'/'
.
join
(
cli_path
))
write_file
(
f
'{tmp}/node.val'
,
value
,
user
=
current_user
,
group
=
'vyattacfg'
,
mode
=
0
o664
,
)
# mark CLI node as modified
if
config_dir
==
'VYATTA_CHANGES_ONLY_DIR'
:
write_file
(
f
'{tmp}/.modified'
,
''
,
user
=
current_user
,
group
=
'vyattacfg'
,
mode
=
0
o664
,
)
File Metadata
Details
Attached
Mime Type
text/x-script.python
Expires
Sat, Oct 17, 12:17 AM (1 d, 2 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4402206
Default Alt Text
configfs.py (2 KB)
Attached To
Mode
rVYOSONEX vyos-1x
Attached
Detach File
Event Timeline
Log In to Comment