Generic module to creates SSM Parameters for AWS.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
2.9KB

  1. #####
  2. # Global variables
  3. ####
  4. variable "enabled" {
  5. description = "Enable this module"
  6. default = true
  7. }
  8. variable "tags" {
  9. description = "Global tags for resources"
  10. default = {}
  11. }
  12. #####
  13. # SSM parameters
  14. #####
  15. variable "prefix" {
  16. description = "The prefix to be used for every SSM Parameters. The prefix must match [A-Za-z0-9/]"
  17. default = ""
  18. }
  19. variable "parameters_count" {
  20. description = "Number of parameters. This value cannot be automaticly computed in terraform 0.12.x."
  21. type = number
  22. default = 0
  23. }
  24. variable "names" {
  25. description = "List of names for parameters."
  26. type = list(string)
  27. }
  28. variable "descriptions" {
  29. description = "List of descriptions for parameters."
  30. type = list(string)
  31. default = []
  32. }
  33. variable "types" {
  34. description = "List of types for parameters."
  35. type = list(string)
  36. }
  37. variable "values" {
  38. description = "List of values for parameters."
  39. type = list(string)
  40. }
  41. variable "overwrites" {
  42. description = "Ordered list of boolean to say whether if terraform should overwrite an existing parameter not managed by terraform.( `ignore_changes_on_value` should then be used to manage the update behavior)."
  43. type = list(bool)
  44. default = []
  45. }
  46. variable "ignore_changes_on_value" {
  47. description = "Whether or not to ignore changes made manually on the value. Applies to all specified parameters. If set to `true`, terraform will never update the value."
  48. default = false
  49. }
  50. variable "allowed_patterns" {
  51. description = "List of regular expression used to validate the parameter value."
  52. default = []
  53. }
  54. #####
  55. # KMS key
  56. #####
  57. variable "kms_key_create" {
  58. description = "Create a kms key for secure string parameters."
  59. default = false
  60. }
  61. variable "kms_key_arn" {
  62. description = "ARN of the kms key if toggle kms_key_create is disable."
  63. default = ""
  64. }
  65. variable "kms_key_name" {
  66. description = "Name of the kms key if toggle kms_key_create is set"
  67. default = ""
  68. }
  69. variable "kms_tags" {
  70. description = "Tags that will be merged with variable tags for the kms key"
  71. default = {}
  72. }
  73. variable "kms_key_alias_name" {
  74. description = "Alias of the kms key if toggle kms_key_create is set"
  75. default = ""
  76. }
  77. variable "use_default_kms_key" {
  78. description = "Use default kms_key"
  79. default = false
  80. }
  81. #####
  82. # IAM Policy
  83. #####
  84. variable "iam_policy_create" {
  85. description = "Create read only and read write policy to get an access to SSM paramters"
  86. default = false
  87. }
  88. variable "iam_policy_name_prefix_read_only" {
  89. description = "Name of the IAM read only access to SSM parameter policy"
  90. default = ""
  91. }
  92. variable "iam_policy_name_prefix_read_write" {
  93. description = "Name of the IAM read write access to SSM parameter policy"
  94. default = ""
  95. }
  96. variable "iam_policy_path" {
  97. description = "Path in which to create the policies."
  98. default = "/"
  99. }