@@ -37,6 +37,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
3737 d ['enabled' ] = v [0 ]
3838 elif kl == 'etag' :
3939 d ['etag' ] = v [0 ]
40+ else :
41+ raise CLIError ('Unsupported Key {} is provided for parameter fusion_alert_rule. All possible keys are: '
42+ 'alert-rule-template-name, enabled, etag' .format (k ))
4043 d ['kind' ] = 'Fusion'
4144 return d
4245
@@ -76,6 +79,11 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
7679 d ['enabled' ] = v [0 ]
7780 elif kl == 'etag' :
7881 d ['etag' ] = v [0 ]
82+ else :
83+ raise CLIError ('Unsupported Key {} is provided for parameter microsoft_security_incident_creation_alert'
84+ '_rule. All possible keys are: display-names-filter, display-names-exclude-filter, '
85+ 'product-filter, severities-filter, alert-rule-template-name, description, '
86+ 'display-name, enabled, etag' .format (k ))
7987 d ['kind' ] = 'MicrosoftSecurityIncidentCreation'
8088 return d
8189
@@ -125,6 +133,11 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
125133 d ['tactics' ] = v
126134 elif kl == 'etag' :
127135 d ['etag' ] = v [0 ]
136+ else :
137+ raise CLIError ('Unsupported Key {} is provided for parameter scheduled_alert_rule. All possible keys '
138+ 'are: query, query-frequency, query-period, severity, trigger-operator, '
139+ 'trigger-threshold, alert-rule-template-name, description, display-name, enabled, '
140+ 'suppression-duration, suppression-enabled, tactics, etag' .format (k ))
128141 d ['kind' ] = 'Scheduled'
129142 return d
130143
@@ -154,6 +167,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
154167 d ['title' ] = v [0 ]
155168 elif kl == 'relation-name' :
156169 d ['relation_name' ] = v [0 ]
170+ else :
171+ raise CLIError ('Unsupported Key {} is provided for parameter incident_info. All possible keys are: '
172+ 'incident-id, severity, title, relation-name' .format (k ))
157173 return d
158174
159175
@@ -180,6 +196,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
180196 d ['state' ] = v [0 ]
181197 elif kl == 'etag' :
182198 d ['etag' ] = v [0 ]
199+ else :
200+ raise CLIError ('Unsupported Key {} is provided for parameter aad_data_connector. All possible keys '
201+ 'are: tenant-id, state, etag' .format (k ))
183202 d ['kind' ] = 'AzureActiveDirectory'
184203 return d
185204
@@ -207,6 +226,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
207226 d ['state' ] = v [0 ]
208227 elif kl == 'etag' :
209228 d ['etag' ] = v [0 ]
229+ else :
230+ raise CLIError ('Unsupported Key {} is provided for parameter aatp_data_connector. All possible keys '
231+ 'are: tenant-id, state, etag' .format (k ))
210232 d ['kind' ] = 'AzureAdvancedThreatProtection'
211233 return d
212234
@@ -234,6 +256,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
234256 d ['state' ] = v [0 ]
235257 elif kl == 'etag' :
236258 d ['etag' ] = v [0 ]
259+ else :
260+ raise CLIError ('Unsupported Key {} is provided for parameter asc_data_connector. All possible keys '
261+ 'are: subscription-id, state, etag' .format (k ))
237262 d ['kind' ] = 'AzureSecurityCenter'
238263 return d
239264
@@ -261,6 +286,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
261286 d ['state' ] = v [0 ]
262287 elif kl == 'etag' :
263288 d ['etag' ] = v [0 ]
289+ else :
290+ raise CLIError ('Unsupported Key {} is provided for parameter aws_cloud_trail_data_connector. All '
291+ 'possible keys are: aws-role-arn, state, etag' .format (k ))
264292 d ['kind' ] = 'AmazonWebServicesCloudTrail'
265293 return d
266294
@@ -284,12 +312,16 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
284312 v = properties [k ]
285313 if kl == 'tenant-id' :
286314 d ['tenant_id' ] = v [0 ]
287- elif kl == 'state-data-types-alerts-state' :
288- d ['state_data_types_alerts_state ' ] = v [0 ]
289- elif kl == 'state-data-types-discovery-logs-state' :
290- d ['state_data_types_discovery_logs_state ' ] = v [0 ]
315+ elif kl == 'state-properties- data-types-alerts-state' :
316+ d ['undefined ' ] = v [0 ]
317+ elif kl == 'state-properties- data-types-discovery-logs-state' :
318+ d ['state ' ] = v [0 ]
291319 elif kl == 'etag' :
292320 d ['etag' ] = v [0 ]
321+ else :
322+ raise CLIError ('Unsupported Key {} is provided for parameter mcas_data_connector. All possible keys '
323+ 'are: tenant-id, state-properties-data-types-alerts-state, '
324+ 'state-properties-data-types-discovery-logs-state, etag' .format (k ))
293325 d ['kind' ] = 'MicrosoftCloudAppSecurity'
294326 return d
295327
@@ -317,14 +349,17 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
317349 d ['state' ] = v [0 ]
318350 elif kl == 'etag' :
319351 d ['etag' ] = v [0 ]
352+ else :
353+ raise CLIError ('Unsupported Key {} is provided for parameter mdatp_data_connector. All possible keys '
354+ 'are: tenant-id, state, etag' .format (k ))
320355 d ['kind' ] = 'MicrosoftDefenderAdvancedThreatProtection'
321356 return d
322357
323358
324- class AddOfficeDataConnector (argparse .Action ):
359+ class AddTiDataConnector (argparse .Action ):
325360 def __call__ (self , parser , namespace , values , option_string = None ):
326361 action = self .get_action (values , option_string )
327- namespace .office_data_connector = action
362+ namespace .ti_data_connector = action
328363
329364 def get_action (self , values , option_string ): # pylint: disable=no-self-use
330365 try :
@@ -334,32 +369,29 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
334369 properties = dict (properties )
335370 except ValueError :
336371 raise CLIError ('usage error: {} [KEY=VALUE ...]' .format (option_string ))
337- d = {
338- 'dataTypes' : {
339- 'sharePoint' : {'state' : 'Disabled' },
340- 'exchange' : {'state' : 'Disabled' }
341- }
342- }
372+ d = {}
343373 for k in properties :
344374 kl = k .lower ()
345375 v = properties [k ]
346376 if kl == 'tenant-id' :
347- d ['tenantId ' ] = v [0 ]
348- elif kl == 'sharepoint-enabled ' :
349- d ['dataTypes' ][ 'sharePoint' ][ 'state' ] = 'Enabled'
350- elif kl == 'exchange-enabled ' :
351- d ['dataTypes' ][ 'exchange' ][ ' state' ] = 'Enabled'
377+ d ['tenant_id ' ] = v [0 ]
378+ elif kl == 'tip-lookback-period ' :
379+ d ['tip_lookback_period' ] = v [ 0 ]
380+ elif kl == 'state ' :
381+ d ['state' ] = v [ 0 ]
352382 elif kl == 'etag' :
353383 d ['etag' ] = v [0 ]
354- d ['kind' ] = 'Office365'
355- print (d )
384+ else :
385+ raise CLIError ('Unsupported Key {} is provided for parameter ti_data_connector. All possible keys are: '
386+ 'tenant-id, tip-lookback-period, state, etag' .format (k ))
387+ d ['kind' ] = 'ThreatIntelligence'
356388 return d
357389
358390
359- class AddTiDataConnector (argparse .Action ):
391+ class AddOfficeDataConnector (argparse .Action ):
360392 def __call__ (self , parser , namespace , values , option_string = None ):
361393 action = self .get_action (values , option_string )
362- namespace .ti_data_connector = action
394+ namespace .office_data_connector = action
363395
364396 def get_action (self , values , option_string ): # pylint: disable=no-self-use
365397 try :
@@ -375,11 +407,20 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
375407 v = properties [k ]
376408 if kl == 'tenant-id' :
377409 d ['tenant_id' ] = v [0 ]
378- elif kl == 'state' :
410+ elif kl == 'state-properties-data-types-teams-state' :
411+ d ['state' ] = v [0 ]
412+ elif kl == 'state-properties-data-types-share-point-state' :
413+ d ['state' ] = v [0 ]
414+ elif kl == 'state-properties-data-types-exchange-state' :
379415 d ['state' ] = v [0 ]
380416 elif kl == 'etag' :
381417 d ['etag' ] = v [0 ]
382- d ['kind' ] = 'ThreatIntelligence'
418+ else :
419+ raise CLIError ('Unsupported Key {} is provided for parameter office_data_connector. All possible keys '
420+ 'are: tenant-id, state-properties-data-types-teams-state, '
421+ 'state-properties-data-types-share-point-state, state-properties-data-types-exchange-sta'
422+ 'te, etag' .format (k ))
423+ d ['kind' ] = 'Office365'
383424 return d
384425
385426
@@ -402,6 +443,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
402443 v = properties [k ]
403444 if kl == 'label-name' :
404445 d ['label_name' ] = v [0 ]
446+ else :
447+ raise CLIError ('Unsupported Key {} is provided for parameter labels. All possible keys are: label-name'
448+ .format (k ))
405449 return d
406450
407451
@@ -430,4 +474,7 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use
430474 d ['object_id' ] = v [0 ]
431475 elif kl == 'user-principal-name' :
432476 d ['user_principal_name' ] = v [0 ]
477+ else :
478+ raise CLIError ('Unsupported Key {} is provided for parameter owner. All possible keys are: email, '
479+ 'assigned-to, object-id, user-principal-name' .format (k ))
433480 return d
0 commit comments