@@ -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