role.splunk_standalone.tf 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. data "template_file" "splunk-ec2-standalone-trust-policy" {
  2. template = "${file("policies/splunk-ec2-standalone-trust-policy.json.tpl")}"
  3. vars = {
  4. account = "${data.aws_caller_identity.current.account_id}"
  5. }
  6. }
  7. resource "aws_iam_role" "Splunk-EC2-Standalone" {
  8. name = "Splunk-EC2-Standalone"
  9. assume_role_policy = "${data.template_file.splunk-ec2-standalone-trust-policy.rendered}"
  10. }
  11. data "template_file" "splunk-ec2-standalone-permissions-policy" {
  12. template = "${file("policies/splunk-ec2-standalone-permissions-policy.json.tpl")}"
  13. vars = {
  14. account = "${data.aws_caller_identity.current.account_id}",
  15. smartstore_bucket_arn = "${aws_s3_bucket.splunk-smartstore.arn}"
  16. }
  17. }
  18. resource "aws_iam_policy" "Splunk-EC2-Standalone" {
  19. name = "Splunk-EC2-Standalone"
  20. path = "/Splunk/"
  21. description = "Splunk policy for EC2 Standalone"
  22. policy = "${data.template_file.splunk-ec2-standalone-permissions-policy.rendered}"
  23. }
  24. resource "aws_iam_role_policy_attachment" "Splunk-EC2-Standalone" {
  25. role = "${aws_iam_role.Splunk-EC2-Standalone.name}"
  26. policy_arn = "${aws_iam_policy.Splunk-EC2-Standalone.arn}"
  27. }
  28. resource "aws_iam_instance_profile" "Splunk-EC2-Indexer" {
  29. name = "Splunk-EC2-Standalone"
  30. role = "${aws_iam_role.Splunk-EC2-Standalone.name}"
  31. }