Skip to content

Commit beef738

Browse files
author
Zachery Lantz
committed
support for tunneldetails
1 parent 082764b commit beef738

File tree

5 files changed

+64
-0
lines changed

5 files changed

+64
-0
lines changed

fmcapi/api_objects/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111
from .policy_services import DynamicAccessPolicies
112112
from .object_services import TimeRanges
113113
from .health import TunnelStatuses
114+
from .health import TunnelDetails
114115

115116
logging.debug("In the api_objects __init__.py file.")
116117

@@ -220,4 +221,5 @@
220221
"DynamicAccessPolicies",
221222
"TimeRanges",
222223
"TunnelStatuses",
224+
"TunnelDetails",
223225
]

fmcapi/api_objects/health/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import logging
44
from .terminateravpnsessions import TerminateRAVPNSessions
55
from .tunnelstatuses import TunnelStatuses
6+
from .tunneldetails import TunnelDetails
67

78
logging.debug("In the health __init__.py file.")
89

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
from fmcapi.api_objects.apiclasstemplate import APIClassTemplate
2+
import logging
3+
4+
5+
class TunnelDetails(APIClassTemplate):
6+
"""The TunnelDetails Object in the FMC."""
7+
8+
FIRST_SUPPORTED_FMC_VERSION = "7.3"
9+
REQUIRED_FOR_GET = ["container_uuid"]
10+
VALID_JSON_DATA = [
11+
"type",
12+
"peerA",
13+
"peerB",
14+
]
15+
16+
VALID_FOR_KWARGS = VALID_JSON_DATA + ["container_uuid"]
17+
18+
URL_SUFFIX = f"/health/tunnelstatuses"
19+
20+
def __init__(self, fmc, **kwargs):
21+
"""
22+
Initialize TunnelDetails object.
23+
24+
:param fmc (object): FMC object
25+
:param **kwargs: Any other values passed during instantiation.
26+
:return: requests response
27+
"""
28+
super().__init__(fmc, **kwargs)
29+
logging.debug("In __init__() for TunnelDetails class.")
30+
self.parse_kwargs(**kwargs)
31+
URL_CONTAINER_SUFFIX = f"/{self.container_uuid}/tunneldetails"
32+
self.URL = self.URL + URL_CONTAINER_SUFFIX
33+
34+
def delete(self, **kwargs):
35+
"""DELETE method for API for TunnelDetails not supported."""
36+
logging.info("DELETE method for API for TunnelDetails not supported.")
37+
pass
38+
39+
def put(self):
40+
"""PUT method for API for TunnelDetails not supported."""
41+
logging.info("PUT method for API for TunnelDetails not supported.")
42+
pass
43+
44+
def post(self, **kwargs):
45+
"""POST method for API for TunnelDetails not supported."""
46+
logging.info("POST method for API for TunnelDetails not supported.")
47+
pass

unit_tests/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
from .timeranges import test__timeranges
8181
from .fqdns import test__fqdns
8282
from .tunnelstatuses import test__tunnelstatuses
83+
from .tunneldetails import test__tunneldetails
8384

8485
logging.debug("In the unit-tests __init__.py file.")
8586

@@ -164,4 +165,5 @@
164165
"test__timeranges",
165166
"test__fqdns",
166167
"test__tunnelstatuses",
168+
"test__tunneldetails",
167169
]

unit_tests/tunneldetails.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import logging
2+
import fmcapi
3+
4+
5+
def test__tunneldetails(fmc):
6+
logging.info("Test TunnelDetails. Get TunnelDetails.")
7+
8+
obj1 = fmcapi.TunnelDetails(fmc=fmc, container_uuid="40A6B737-FDDC-0ed3-0000-000000000297") # Tunnel uuid not topology uuid
9+
tunnel_details = obj1.get()
10+
del obj1
11+
12+
logging.info("Test TunnelDetails done.\n")

0 commit comments

Comments
 (0)