Skip to content

Commit eb5ac5f

Browse files
add delete_session method
1 parent 50742a6 commit eb5ac5f

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

src/sasctl/_services/cas_management.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,41 @@ def create_session(cls, properties: dict, server: str):
6060
)
6161
return sess
6262

63+
@classmethod
64+
def delete_session(cls, sess_id: str, server: str, qparams: dict = None):
65+
"""
66+
Terminates a session on the CAS server.
67+
68+
Params
69+
------
70+
sess_id : str
71+
A string indicating the Session id.
72+
server : str
73+
Name of the CAS server. Defaults to `cas-shared-default`.
74+
qparams : dict, optional
75+
Query parameters.
76+
Valid keys are `force`, `superUserSessionId`.
77+
78+
Returns
79+
-------
80+
RestObj
81+
"""
82+
server = server or DEFAULT_SERVER
83+
84+
if qparams is not None:
85+
allowedQueryKeys = ["force", "superUserSessionId"]
86+
87+
if not all(key in allowedQueryKeys for key in qparams.keys()) :
88+
raise ValueError("The only acceptable queries are %s." % (allowedQueryKeys))
89+
else:
90+
qparams = {}
91+
92+
sess = cls.delete(
93+
"/servers/%s/sessions/%s" % (server,sess_id),
94+
params = qparams
95+
)
96+
return sess
97+
6398
@classmethod
6499
def list_caslibs(cls, server:Union[str,dict], filter_:str=None):
65100
"""List caslibs available on a server.

0 commit comments

Comments
 (0)