template.yaml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. ---
  2. kind: terraform
  3. schema: "1.0"
  4. metadata:
  5. icon:
  6. provider: selfh
  7. id: netbox
  8. name: NetBox Device
  9. description: >
  10. Register a physical device in NetBox with automatic role, type, and manufacturer creation.
  11. Includes device interface, IP address assignment, and automatic primary IP configuration.
  12. Project: https://netboxlabs.com/
  13. Documentation: https://registry.terraform.io/providers/e-breuninger/netbox/latest/docs/resources/device
  14. version: 5.0.0
  15. author: Christian Lempa
  16. date: '2025-12-02'
  17. spec:
  18. general:
  19. vars:
  20. resource_name:
  21. default: device
  22. device:
  23. title: Device Configuration
  24. vars:
  25. device_name:
  26. type: str
  27. description: Device hostname
  28. required: true
  29. default: fw-prod-1
  30. site_ref:
  31. type: str
  32. description: Site data source name
  33. required: true
  34. default: homelab
  35. status:
  36. type: enum
  37. description: Device status
  38. options:
  39. - active
  40. - planned
  41. - staged
  42. - offline
  43. - decommissioning
  44. default: active
  45. references:
  46. title: Resource References
  47. vars:
  48. device_type_ref:
  49. type: str
  50. description: Device type resource name
  51. required: true
  52. default: generic_server
  53. role_ref:
  54. type: str
  55. description: Device role resource name
  56. required: true
  57. default: server
  58. interface:
  59. title: Network Interface
  60. vars:
  61. interface_name:
  62. type: str
  63. description: Interface name (e.g., eth0, LAN, vmbr0)
  64. required: true
  65. default: eth0
  66. interface_type:
  67. type: enum
  68. description: Interface type
  69. required: true
  70. options:
  71. - virtual
  72. - 1000base-t
  73. - 10gbase-x-sfpp
  74. - 25gbase-x-sfp28
  75. - 40gbase-x-qsfpp
  76. - 100gbase-x-qsfp28
  77. default: virtual
  78. ip:
  79. title: IP Address
  80. vars:
  81. ip_address:
  82. type: str
  83. description: IP address with CIDR (e.g., 10.20.0.1/16)
  84. required: true
  85. default: 10.20.0.10/24
  86. dns_name:
  87. type: hostname
  88. description: Fully qualified domain name
  89. required: true
  90. default: device.home.example.com
  91. ip_description:
  92. type: str
  93. description: IP address description
  94. default: Management Interface
  95. cluster:
  96. title: Cluster Assignment
  97. vars:
  98. cluster_ref:
  99. type: str
  100. description: Cluster resource name (leave empty to skip)