docs: def create(self, label=None, name=None, critical_state=None, ok_state=None,
              warning_state=None):
          """
          Creates a notification plan to be executed when a monitoring check
          triggers an alarm. You can optionally label (or name) the plan.
  
          A plan consists of one or more notifications to be executed when an
          associated alarm is triggered. You can have different lists of actions
          for CRITICAL, WARNING or OK states.
          """
          uri = "/%s" % self.uri_base
          body = {"label": label or name}
  
          def make_list_of_ids(parameter):
              params = utils.coerce_to_list(parameter)
              return [utils.get_id(param) for param in params]
  
          if critical_state:
              critical_state = utils.coerce_to_list(critical_state)
              body["critical_state"] = make_list_of_ids(critical_state)
          if warning_state:
              warning_state = utils.coerce_to_list(warning_state)
              body["warning_state"] = make_list_of_ids(warning_state)
          if ok_state:
              ok_state = utils.coerce_to_list(ok_state)
              body["ok_state"] = make_list_of_ids(ok_state)
          resp, resp_body = self.api.method_post(uri, body=body)
          return self.get(resp.headers["x-object-id"])