GithubHelp home page GithubHelp logo

Comments (3)

yahel2410 avatar yahel2410 commented on May 27, 2024

This sets the hostname as the name input of the module plus suffixes. e.g my-host-1, my-host-2:

main.tf

data "template_file" "user_data" {
  template = "${file("user-data.tpl")}"
}

module "ec2" {
...
  name = "my-host"
  user_data = "${data.template_file.user_data.rendered}"
...
}

user-data.tpl

#cloud-config
packages:
 - curl
 - awscli
perserve_hostname: true
runcmd:
# get region
 - export AWS_REGION=$(curl -s http://169.254.169.254/latest/dynamic/instance-identity/document | grep region | awk -F\" '{print $4}')
# setup awscli
 - mkdir -p /root/.aws
 - echo -e "[default]\nregion=$AWS_REGION" | tee /root/.aws/config
# get instance name
 - export FQDN=$(aws ec2 describe-tags --filters "Name=resource-id,Values=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)" "Name=key,Values=Name" --output=text | cut -f 5)
# set hostname
 - hostnamectl set-hostname --static $FQDN

from terraform-aws-ec2-instance.

antonbabenko avatar antonbabenko commented on May 27, 2024

Closing this issue.

Please consider asking general Terraform questions in designated communities specified here - https://www.terraform.io/docs/extend/community/index.html

from terraform-aws-ec2-instance.

github-actions avatar github-actions commented on May 27, 2024

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

from terraform-aws-ec2-instance.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.