@@ -80,6 +80,70 @@ def __init__(self):
8080 'category' : 'Metrics' ,
8181 'form_fields' : []
8282 },
83+ OpenSearch .TaskType .GET_CLUSTER_HEALTH : {
84+ 'executor' : self .execute_get_cluster_health ,
85+ 'model_types' : [],
86+ 'result_type' : PlaybookTaskResultType .API_RESPONSE ,
87+ 'display_name' : 'Get OpenSearch Cluster Health' ,
88+ 'category' : 'Metrics' ,
89+ 'form_fields' : []
90+ },
91+ OpenSearch .TaskType .GET_CLUSTER_SETTINGS : {
92+ 'executor' : self .execute_get_cluster_settings ,
93+ 'model_types' : [],
94+ 'result_type' : PlaybookTaskResultType .API_RESPONSE ,
95+ 'display_name' : 'Get OpenSearch Cluster Settings' ,
96+ 'category' : 'Metrics' ,
97+ 'form_fields' : []
98+ },
99+ OpenSearch .TaskType .GET_CLUSTER_STATS : {
100+ 'executor' : self .execute_get_cluster_stats ,
101+ 'model_types' : [],
102+ 'result_type' : PlaybookTaskResultType .API_RESPONSE ,
103+ 'display_name' : 'Get OpenSearch Cluster Stats' ,
104+ 'category' : 'Metrics' ,
105+ 'form_fields' : []
106+ },
107+ OpenSearch .TaskType .GET_INDEX_AND_SHARD_RECOVERIES : {
108+ 'executor' : self .execute_get_index_and_shard_recoveries ,
109+ 'model_types' : [],
110+ 'result_type' : PlaybookTaskResultType .API_RESPONSE ,
111+ 'display_name' : 'Get OpenSearch Index and Shard Recoveries' ,
112+ 'category' : 'Metrics' ,
113+ 'form_fields' : []
114+ },
115+ OpenSearch .TaskType .GET_INDICES : {
116+ 'executor' : self .execute_get_indices ,
117+ 'model_types' : [],
118+ 'result_type' : PlaybookTaskResultType .API_RESPONSE ,
119+ 'display_name' : 'Get OpenSearch Indices' ,
120+ 'category' : 'Metrics' ,
121+ 'form_fields' : []
122+ },
123+ OpenSearch .TaskType .GET_PENDING_TASKS : {
124+ 'executor' : self .execute_get_pending_tasks ,
125+ 'model_types' : [],
126+ 'result_type' : PlaybookTaskResultType .API_RESPONSE ,
127+ 'display_name' : 'Get OpenSearch Pending Tasks' ,
128+ 'category' : 'Metrics' ,
129+ 'form_fields' : []
130+ },
131+ OpenSearch .TaskType .GET_SHARDS : {
132+ 'executor' : self .execute_get_shards ,
133+ 'model_types' : [],
134+ 'result_type' : PlaybookTaskResultType .API_RESPONSE ,
135+ 'display_name' : 'Get OpenSearch Shards' ,
136+ 'category' : 'Metrics' ,
137+ 'form_fields' : []
138+ },
139+ OpenSearch .TaskType .GET_TASKS : {
140+ 'executor' : self .execute_get_tasks ,
141+ 'model_types' : [],
142+ 'result_type' : PlaybookTaskResultType .API_RESPONSE ,
143+ 'display_name' : 'Get OpenSearch Tasks' ,
144+ 'category' : 'Metrics' ,
145+ 'form_fields' : []
146+ }
83147 }
84148
85149 def get_connector_processor (self , os_connector , ** kwargs ):
@@ -223,3 +287,147 @@ def execute_get_index_stats(self, time_range: TimeRange, os_task: OpenSearch,
223287 except Exception as e :
224288 raise Exception (
225289 f"OpenSearchSourceManager.execute_get_index_stats:: Error while executing OpenSearch task: { str (e )} " )
290+
291+ # cluster health task functions
292+ def execute_get_cluster_health (self , time_range : TimeRange , os_task : OpenSearch ,
293+ os_connector : ConnectorProto ):
294+ try :
295+ if not os_connector :
296+ raise ValueError ("OpenSearchSourceManager.execute_get_cluster_health:: Task execution Failed:: "
297+ "No OpenSearch source found" )
298+
299+ os_client = self .get_connector_processor (os_connector )
300+ result = os_client .get_cluster_health ()
301+ result_struct = dict_to_proto (result , Struct )
302+ api_response = ApiResponseResult (response_body = result_struct )
303+ return PlaybookTaskResult (type = PlaybookTaskResultType .API_RESPONSE , api_response = api_response ,
304+ source = self .source )
305+ except Exception as e :
306+ raise Exception (
307+ f"OpenSearchSourceManager.execute_get_cluster_health:: Error while executing OpenSearch task: { str (e )} " )
308+
309+ # cluster settings task functions
310+ def execute_get_cluster_settings (self , time_range : TimeRange , os_task : OpenSearch ,
311+ os_connector : ConnectorProto ):
312+ try :
313+ if not os_connector :
314+ raise ValueError ("OpenSearchSourceManager.execute_get_cluster_settings:: Task execution Failed:: "
315+ "No OpenSearch source found" )
316+
317+ os_client = self .get_connector_processor (os_connector )
318+ result = os_client .get_cluster_settings ()
319+ result_struct = dict_to_proto (result , Struct )
320+ api_response = ApiResponseResult (response_body = result_struct )
321+ return PlaybookTaskResult (type = PlaybookTaskResultType .API_RESPONSE , api_response = api_response ,
322+ source = self .source )
323+ except Exception as e :
324+ raise Exception (
325+ f"OpenSearchSourceManager.execute_get_cluster_settings:: Error while executing OpenSearch task: { str (e )} " )
326+
327+ # cluster stats task functions
328+ def execute_get_cluster_stats (self , time_range : TimeRange , os_task : OpenSearch ,
329+ os_connector : ConnectorProto ):
330+ try :
331+ if not os_connector :
332+ raise ValueError ("OpenSearchSourceManager.execute_get_cluster_stats:: Task execution Failed:: "
333+ "No OpenSearch source found" )
334+
335+ os_client = self .get_connector_processor (os_connector )
336+ result = os_client .get_cluster_stats ()
337+ result_struct = dict_to_proto (result , Struct )
338+ api_response = ApiResponseResult (response_body = result_struct )
339+ return PlaybookTaskResult (type = PlaybookTaskResultType .API_RESPONSE , api_response = api_response ,
340+ source = self .source )
341+ except Exception as e :
342+ raise Exception (
343+ f"OpenSearchSourceManager.execute_get_cluster_stats:: Error while executing OpenSearch task: { str (e )} " )
344+
345+ # index and shard recoveries task functions
346+ def execute_get_index_and_shard_recoveries (self , time_range : TimeRange , os_task : OpenSearch ,
347+ os_connector : ConnectorProto ):
348+ try :
349+ if not os_connector :
350+ raise ValueError ("OpenSearchSourceManager.execute_get_index_and_shard_recoveries:: Task execution Failed:: "
351+ "No OpenSearch source found" )
352+
353+ os_client = self .get_connector_processor (os_connector )
354+ result = os_client .get_index_and_shard_recoveries ()
355+ result_struct = dict_to_proto (result , Struct )
356+ api_response = ApiResponseResult (response_body = result_struct )
357+ return PlaybookTaskResult (type = PlaybookTaskResultType .API_RESPONSE , api_response = api_response ,
358+ source = self .source )
359+ except Exception as e :
360+ raise Exception (
361+ f"OpenSearchSourceManager.execute_get_index_and_shard_recoveries:: Error while executing OpenSearch task: { str (e )} " )
362+
363+ # indices task functions
364+ def execute_get_indices (self , time_range : TimeRange , os_task : OpenSearch ,
365+ os_connector : ConnectorProto ):
366+ try :
367+ if not os_connector :
368+ raise ValueError ("OpenSearchSourceManager.execute_get_indices:: Task execution Failed:: "
369+ "No OpenSearch source found" )
370+
371+ os_client = self .get_connector_processor (os_connector )
372+ result = os_client .get_indices ()
373+ result_struct = dict_to_proto (result , Struct )
374+ api_response = ApiResponseResult (response_body = result_struct )
375+ return PlaybookTaskResult (type = PlaybookTaskResultType .API_RESPONSE , api_response = api_response ,
376+ source = self .source )
377+ except Exception as e :
378+ raise Exception (
379+ f"OpenSearchSourceManager.execute_get_indices:: Error while executing OpenSearch task: { str (e )} " )
380+
381+ # pending tasks task functions
382+ def execute_get_pending_tasks (self , time_range : TimeRange , os_task : OpenSearch ,
383+ os_connector : ConnectorProto ):
384+ try :
385+ if not os_connector :
386+ raise ValueError ("OpenSearchSourceManager.execute_get_pending_tasks:: Task execution Failed:: "
387+ "No OpenSearch source found" )
388+
389+ os_client = self .get_connector_processor (os_connector )
390+ result = os_client .get_pending_tasks ()
391+ result_struct = dict_to_proto (result , Struct )
392+ api_response = ApiResponseResult (response_body = result_struct )
393+ return PlaybookTaskResult (type = PlaybookTaskResultType .API_RESPONSE , api_response = api_response ,
394+ source = self .source )
395+ except Exception as e :
396+ raise Exception (
397+ f"OpenSearchSourceManager.execute_get_pending_tasks:: Error while executing OpenSearch task: { str (e )} " )
398+
399+ # shards task functions
400+ def execute_get_shards (self , time_range : TimeRange , os_task : OpenSearch ,
401+ os_connector : ConnectorProto ):
402+ try :
403+ if not os_connector :
404+ raise ValueError ("OpenSearchSourceManager.execute_get_shards:: Task execution Failed:: "
405+ "No OpenSearch source found" )
406+
407+ os_client = self .get_connector_processor (os_connector )
408+ result = os_client .get_shards ()
409+ result_struct = dict_to_proto (result , Struct )
410+ api_response = ApiResponseResult (response_body = result_struct )
411+ return PlaybookTaskResult (type = PlaybookTaskResultType .API_RESPONSE , api_response = api_response ,
412+ source = self .source )
413+ except Exception as e :
414+ raise Exception (
415+ f"OpenSearchSourceManager.execute_get_shards:: Error while executing OpenSearch task: { str (e )} " )
416+
417+ # tasks task functions
418+ def execute_get_tasks (self , time_range : TimeRange , os_task : OpenSearch ,
419+ os_connector : ConnectorProto ):
420+ try :
421+ if not os_connector :
422+ raise ValueError ("OpenSearchSourceManager.execute_get_tasks:: Task execution Failed:: "
423+ "No OpenSearch source found" )
424+
425+ os_client = self .get_connector_processor (os_connector )
426+ result = os_client .get_tasks ()
427+ result_struct = dict_to_proto (result , Struct )
428+ api_response = ApiResponseResult (response_body = result_struct )
429+ return PlaybookTaskResult (type = PlaybookTaskResultType .API_RESPONSE , api_response = api_response ,
430+ source = self .source )
431+ except Exception as e :
432+ raise Exception (
433+ f"OpenSearchSourceManager.execute_get_tasks:: Error while executing OpenSearch task: { str (e )} " )
0 commit comments