class_docstr: TeamsOutput handles all alert dispatching for Microsoft Teams
class_docstr_tok: ["TeamsOutput","handles","all","alert","dispatching","for","Microsoft","Teams"]
docstr: Get properties that must be assigned by the user when configuring a new Microsoft Teams
  output.  This should be sensitive or unique information for this use-case that needs
  to come from the user.
  
  Every output should return a dict that contains a 'descriptor' with a description of the
  integration being configured.
  
  Microsoft Teams also requires a user provided 'webhook' url that is composed of the Team's
  api url and the unique integration key for this output. This value should be should be
  masked during input and is a credential requirement.
  
  Returns:
      OrderedDict: Contains various OutputProperty items
docstr_tok: ["Get","properties","that","must","be","assigned","by","the","user","when","configuring","a","new","Microsoft","Teams","output",".","This","should","be","sensitive","or","unique","information","for","this","use-case","that","needs","to","come","from","the","user",".","Every","output","should","return","a","dict","that","contains","a","'descriptor","'","with","a","description","of","the","integration","being","configured",".","Microsoft","Teams","also","requires","a","user","provided","'webhook","'","url","that","is","composed","of","the","Team's","api","url","and","the","unique","integration","key","for","this","output",".","This","value","should","be","should","be","masked","during","input","and","is","a","credential","requirement",".","Returns",":","OrderedDict",":","Contains","various","OutputProperty","items"]
code: def get_user_defined_properties(cls):
      """Get properties that must be assigned by the user when configuring a new Microsoft Teams
      output.  This should be sensitive or unique information for this use-case that needs
      to come from the user.
  
      Every output should return a dict that contains a 'descriptor' with a description of the
      integration being configured.
  
      Microsoft Teams also requires a user provided 'webhook' url that is composed of the Team's
      api url and the unique integration key for this output. This value should be should be
      masked during input and is a credential requirement.
  
      Returns:
          OrderedDict: Contains various OutputProperty items
      """
      return OrderedDict(
          [
              (
                  "descriptor",
                  OutputProperty(
                      description="a short and unique descriptor for this service configuration "
                      "(ie: name of Team the webhook relates too)"
                  ),
              ),
              (
                  "url",
                  OutputProperty(
                      description="the full teams webhook url, including the secret",
                      mask_input=True,
                      cred_requirement=True,
                  ),
              ),
          ]
      )
  
file_path: streamalert/streamalert/alert_processor/outputs/teams.py
imports: from collections import OrderedDict
  import pymsteams
  from pymsteams import TeamsWebhookException
  from streamalert.alert_processor.helpers import compose_alert
  from streamalert.alert_processor.outputs.output_base import OutputDispatcher, OutputProperty, StreamAlertOutput
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 1 for calling the TeamsOutput obj's underlying member method code with example usage: obj.get_user_defined_properties(cls) and returns: OrderedDict