constants.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. # Models which support custom fields
  2. CUSTOMFIELD_MODELS = [
  3. 'circuits.circuit',
  4. 'circuits.provider',
  5. 'dcim.device',
  6. 'dcim.devicetype',
  7. 'dcim.powerfeed',
  8. 'dcim.rack',
  9. 'dcim.site',
  10. 'ipam.aggregate',
  11. 'ipam.ipaddress',
  12. 'ipam.prefix',
  13. 'ipam.service',
  14. 'ipam.vlan',
  15. 'ipam.vrf',
  16. 'secrets.secret',
  17. 'tenancy.tenant',
  18. 'virtualization.cluster',
  19. 'virtualization.virtualmachine',
  20. ]
  21. # Custom links
  22. CUSTOMLINK_MODELS = [
  23. 'circuits.circuit',
  24. 'circuits.provider',
  25. 'dcim.cable',
  26. 'dcim.device',
  27. 'dcim.devicetype',
  28. 'dcim.powerpanel',
  29. 'dcim.powerfeed',
  30. 'dcim.rack',
  31. 'dcim.site',
  32. 'ipam.aggregate',
  33. 'ipam.ipaddress',
  34. 'ipam.prefix',
  35. 'ipam.service',
  36. 'ipam.vlan',
  37. 'ipam.vrf',
  38. 'secrets.secret',
  39. 'tenancy.tenant',
  40. 'virtualization.cluster',
  41. 'virtualization.virtualmachine',
  42. ]
  43. BUTTON_CLASS_DEFAULT = 'default'
  44. BUTTON_CLASS_PRIMARY = 'primary'
  45. BUTTON_CLASS_SUCCESS = 'success'
  46. BUTTON_CLASS_INFO = 'info'
  47. BUTTON_CLASS_WARNING = 'warning'
  48. BUTTON_CLASS_DANGER = 'danger'
  49. BUTTON_CLASS_LINK = 'link'
  50. BUTTON_CLASS_CHOICES = (
  51. (BUTTON_CLASS_DEFAULT, 'Default'),
  52. (BUTTON_CLASS_PRIMARY, 'Primary (blue)'),
  53. (BUTTON_CLASS_SUCCESS, 'Success (green)'),
  54. (BUTTON_CLASS_INFO, 'Info (aqua)'),
  55. (BUTTON_CLASS_WARNING, 'Warning (orange)'),
  56. (BUTTON_CLASS_DANGER, 'Danger (red)'),
  57. (BUTTON_CLASS_LINK, 'None (link)'),
  58. )
  59. # Graph types
  60. GRAPH_TYPE_INTERFACE = 100
  61. GRAPH_TYPE_DEVICE = 150
  62. GRAPH_TYPE_PROVIDER = 200
  63. GRAPH_TYPE_SITE = 300
  64. GRAPH_TYPE_CHOICES = (
  65. (GRAPH_TYPE_INTERFACE, 'Interface'),
  66. (GRAPH_TYPE_DEVICE, 'Device'),
  67. (GRAPH_TYPE_PROVIDER, 'Provider'),
  68. (GRAPH_TYPE_SITE, 'Site'),
  69. )
  70. # Models which support export templates
  71. EXPORTTEMPLATE_MODELS = [
  72. 'circuits.circuit',
  73. 'circuits.provider',
  74. 'dcim.cable',
  75. 'dcim.consoleport',
  76. 'dcim.device',
  77. 'dcim.devicetype',
  78. 'dcim.interface',
  79. 'dcim.inventoryitem',
  80. 'dcim.manufacturer',
  81. 'dcim.powerpanel',
  82. 'dcim.powerport',
  83. 'dcim.powerfeed',
  84. 'dcim.rack',
  85. 'dcim.rackgroup',
  86. 'dcim.region',
  87. 'dcim.site',
  88. 'dcim.virtualchassis',
  89. 'ipam.aggregate',
  90. 'ipam.ipaddress',
  91. 'ipam.prefix',
  92. 'ipam.service',
  93. 'ipam.vlan',
  94. 'ipam.vrf',
  95. 'secrets.secret',
  96. 'tenancy.tenant',
  97. 'virtualization.cluster',
  98. 'virtualization.virtualmachine',
  99. ]
  100. # ExportTemplate language choices
  101. TEMPLATE_LANGUAGE_DJANGO = 10
  102. TEMPLATE_LANGUAGE_JINJA2 = 20
  103. TEMPLATE_LANGUAGE_CHOICES = (
  104. (TEMPLATE_LANGUAGE_DJANGO, 'Django'),
  105. (TEMPLATE_LANGUAGE_JINJA2, 'Jinja2'),
  106. )
  107. # Change log actions
  108. OBJECTCHANGE_ACTION_CREATE = 1
  109. OBJECTCHANGE_ACTION_UPDATE = 2
  110. OBJECTCHANGE_ACTION_DELETE = 3
  111. OBJECTCHANGE_ACTION_CHOICES = (
  112. (OBJECTCHANGE_ACTION_CREATE, 'Created'),
  113. (OBJECTCHANGE_ACTION_UPDATE, 'Updated'),
  114. (OBJECTCHANGE_ACTION_DELETE, 'Deleted'),
  115. )
  116. # User action types
  117. ACTION_CREATE = 1
  118. ACTION_IMPORT = 2
  119. ACTION_EDIT = 3
  120. ACTION_BULK_EDIT = 4
  121. ACTION_DELETE = 5
  122. ACTION_BULK_DELETE = 6
  123. ACTION_BULK_CREATE = 7
  124. ACTION_CHOICES = (
  125. (ACTION_CREATE, 'created'),
  126. (ACTION_BULK_CREATE, 'bulk created'),
  127. (ACTION_IMPORT, 'imported'),
  128. (ACTION_EDIT, 'modified'),
  129. (ACTION_BULK_EDIT, 'bulk edited'),
  130. (ACTION_DELETE, 'deleted'),
  131. (ACTION_BULK_DELETE, 'bulk deleted'),
  132. )
  133. # Report logging levels
  134. LOG_DEFAULT = 0
  135. LOG_SUCCESS = 10
  136. LOG_INFO = 20
  137. LOG_WARNING = 30
  138. LOG_FAILURE = 40
  139. LOG_LEVEL_CODES = {
  140. LOG_DEFAULT: 'default',
  141. LOG_SUCCESS: 'success',
  142. LOG_INFO: 'info',
  143. LOG_WARNING: 'warning',
  144. LOG_FAILURE: 'failure',
  145. }
  146. # webhook content types
  147. WEBHOOK_CT_JSON = 1
  148. WEBHOOK_CT_X_WWW_FORM_ENCODED = 2
  149. WEBHOOK_CT_CHOICES = (
  150. (WEBHOOK_CT_JSON, 'application/json'),
  151. (WEBHOOK_CT_X_WWW_FORM_ENCODED, 'application/x-www-form-urlencoded'),
  152. )
  153. # Models which support registered webhooks
  154. WEBHOOK_MODELS = [
  155. 'circuits.circuit',
  156. 'circuits.provider',
  157. 'dcim.cable',
  158. 'dcim.consoleport',
  159. 'dcim.consoleserverport',
  160. 'dcim.device',
  161. 'dcim.devicebay',
  162. 'dcim.devicetype',
  163. 'dcim.interface',
  164. 'dcim.inventoryitem',
  165. 'dcim.frontport',
  166. 'dcim.manufacturer',
  167. 'dcim.poweroutlet',
  168. 'dcim.powerpanel',
  169. 'dcim.powerport',
  170. 'dcim.powerfeed',
  171. 'dcim.rack',
  172. 'dcim.rearport',
  173. 'dcim.region',
  174. 'dcim.site',
  175. 'dcim.virtualchassis',
  176. 'ipam.aggregate',
  177. 'ipam.ipaddress',
  178. 'ipam.prefix',
  179. 'ipam.service',
  180. 'ipam.vlan',
  181. 'ipam.vrf',
  182. 'secrets.secret',
  183. 'tenancy.tenant',
  184. 'virtualization.cluster',
  185. 'virtualization.virtualmachine',
  186. ]