template.yaml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. ---
  2. kind: terraform
  3. metadata:
  4. name: Cloudflare DNS Record
  5. description: |-
  6. Create Cloudflare DNS records (A, AAAA, CNAME, TXT, MX) with configurable settings.
  7. Supports all common DNS record types with proxy status and TTL configuration.
  8. Project: https://www.cloudflare.com/
  9. Documentation: https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/dns_record
  10. version: 5.12.0
  11. author: Christian Lempa
  12. date: "2025-11-11"
  13. tags: []
  14. icon:
  15. provider: selfh
  16. id: cloudflare
  17. draft: false
  18. next_steps: ""
  19. schema: "1.2"
  20. spec:
  21. comment:
  22. title: Comment
  23. toggle: comment_enabled
  24. vars:
  25. comment_enabled:
  26. description: Add comment to DNS record
  27. type: bool
  28. default: false
  29. comment_text:
  30. description: Comment for the DNS record
  31. type: str
  32. default: Managed by Terraform
  33. general:
  34. vars:
  35. resource_name:
  36. description: Terraform resource name (alphanumeric and underscores only)
  37. type: str
  38. default: dns_record
  39. zone_id_value:
  40. description: Cloudflare Zone ID
  41. type: str
  42. mx:
  43. title: MX Record Settings
  44. toggle: mx_enabled
  45. vars:
  46. mx_enabled:
  47. description: Configure MX record priority
  48. type: bool
  49. default: false
  50. priority:
  51. description: MX record priority (lower = higher priority)
  52. type: int
  53. default: 10
  54. record:
  55. title: DNS Record
  56. required: true
  57. vars:
  58. content:
  59. description: DNS record content (IP, hostname, or text)
  60. type: str
  61. default: 192.0.2.1
  62. name:
  63. description: DNS record name (use @ for root domain)
  64. type: str
  65. default: www
  66. proxied:
  67. description: Enable Cloudflare proxy (orange cloud)
  68. type: bool
  69. default: true
  70. record_type:
  71. description: DNS record type
  72. type: enum
  73. default: A
  74. options: [A, AAAA, CNAME, TXT, MX]
  75. ttl:
  76. description: Time to live (1 = automatic, or 60-86400 seconds)
  77. type: int
  78. default: 1
  79. depends_on:
  80. title: Dependencies
  81. toggle: depends_on_enabled
  82. vars:
  83. depends_on_enabled:
  84. description: Enable resource dependencies
  85. type: bool
  86. default: false
  87. dependencies:
  88. description: Comma-separated list of resource dependencies
  89. type: str
  90. default: ""
  91. lifecycle:
  92. title: Lifecycle
  93. toggle: lifecycle_enabled
  94. vars:
  95. lifecycle_enabled:
  96. description: Enable lifecycle rules
  97. type: bool
  98. default: false
  99. prevent_destroy:
  100. description: Prevent resource destruction
  101. type: bool
  102. default: false
  103. create_before_destroy:
  104. description: Create replacement before destroying
  105. type: bool
  106. default: false
  107. ignore_changes:
  108. description: Comma-separated list of attributes to ignore changes for
  109. type: str
  110. default: ""
  111. tags:
  112. title: Tags
  113. toggle: tags_enabled
  114. vars:
  115. tags_enabled:
  116. description: Enable tags
  117. type: bool
  118. default: false
  119. tags_json:
  120. description: Tags in JSON format
  121. type: str
  122. default: "{}"