FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python_code_samples_network/netconf_entity/nc_entity.py at master · DevNet9/python_code_samples_network · GitHub
DevNet9
/
python_code_samples_network
Public
forked from
hpreston/python_code_samples_network
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
python_code_samples_network
/
netconf_entity
/
nc_entity.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
69 lines (62 loc) · 2.93 KB
Breadcrumbs
python_code_samples_network
/
netconf_entity
/
nc_entity.py
Copy path
File metadata and controls
executable file
·
69 lines (62 loc) · 2.93 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/usr/bin/env python
#
# Copyright (c) 2017 Joe Clarke <jclarke@cisco.com>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# This script retrieves the ENTITY-MIB tree from a device via NETCONF and
# prints it out in a "pretty" XML tree.
#
from
ncclient
import
manager
import
xml
.
dom
.
minidom
import
logging
import
argparse
import
sys
if
__name__
==
'__main__'
:
parser
=
argparse
.
ArgumentParser
(
prog
=
sys
.
argv
[
0
],
description
=
'Print ENTITY-MIB data via NETCONF from a device'
)
parser
.
add_argument
(
'-a'
,
'--host'
,
type
=
str
,
required
=
True
,
help
=
"Device IP address or Hostname"
)
parser
.
add_argument
(
'-u'
,
'--username'
,
type
=
str
,
required
=
True
,
help
=
"Device Username (NETCONF server username)"
)
parser
.
add_argument
(
'-p'
,
'--password'
,
type
=
str
,
required
=
True
,
help
=
"Device Password (NETCONF server password)"
)
parser
.
add_argument
(
'--port'
,
type
=
int
,
default
=
830
,
help
=
"Netconf agent port"
)
parser
.
add_argument
(
'-d'
,
'--debug'
,
action
=
'store_true'
,
help
=
"Enable ncclient debugging"
)
parser
.
set_defaults
(
debug
=
False
)
args
=
parser
.
parse_args
()
if
args
.
debug
:
logging
.
basicConfig
(
level
=
logging
.
DEBUG
)
with
manager
.
connect_ssh
(
host
=
args
.
host
,
port
=
args
.
port
,
username
=
args
.
username
,
hostkey_verify
=
False
,
password
=
args
.
password
)
as
m
:
entity_filter
=
'''
<filter>
<ENTITY-MIB xmlns="urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB"/>
</filter>
'''
try
:
c
=
m
.
get
(
entity_filter
).
data_xml
print
(
xml
.
dom
.
minidom
.
parseString
(
c
).
toprettyxml
())
except
Exception
as
e
:
print
(
'Failed to execute <get> RPC: {}'
.
format
(
e
))
Back
|
FazBrowse Home
|
New Git URL