'terraform' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' ' Text 'backend' Keyword.Reserved ' ' Text '"consul"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' address' Name.Attribute ' ' Text '=' Operator ' ' Text '"demo.consul.io"' Literal.String.Double '\n' Text ' path' Name.Attribute ' ' Text '=' Operator ' ' Text '"tfdocs"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'module' Keyword.Reserved ' ' Text '"consul"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' source' Name.Attribute ' ' Text '=' Operator ' ' Text '"hashicorp/consul/aws"' Literal.String.Double '\n' Text ' servers' Name.Attribute ' ' Text '=' Operator ' ' Text '3' Literal.Number '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'variable' Keyword.Reserved ' ' Text '"key_name"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' description' Name.Attribute ' ' Text '=' Operator ' ' Text '"Name of the SSH keypair to use in AWS."' Literal.String.Double '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'variable' Keyword.Reserved ' ' Text '"key_path"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' description' Name.Attribute ' ' Text '=' Operator ' ' Text '"Path to the private portion of the SSH key specified."' Literal.String.Double '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'variable' Keyword.Reserved ' ' Text '"aws_region"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' description' Name.Attribute ' ' Text '=' Operator ' ' Text '"AWS region to launch servers."' Literal.String.Double '\n' Text ' default' Name.Attribute ' ' Text '=' Operator ' ' Text '"us-west-2"' Literal.String.Double '\n' Text ' somevar' Name.Attribute ' ' Text '=' Operator ' ' Text 'true' Keyword.Type '\n' Text '}' Text.Punctuation '\n\n# Ubuntu Precise 12.04 LTS (x64)\n' Comment.Single 'variable' Keyword.Reserved ' ' Text '"aws_amis"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' default' Name.Attribute ' ' Text '=' Operator ' ' Text '{' Text.Punctuation '\n' Text ' eu-west-1' Name.Attribute ' ' Text '=' Operator ' ' Text '"ami-b1cf19c6"' Literal.String.Double '\n' Text ' us-east-1' Name.Attribute ' ' Text '=' Operator ' ' Text '"ami-de7ab6b6"' Literal.String.Double '\n' Text ' us-west-1' Name.Attribute ' ' Text '=' Operator ' ' Text '"ami-3f75767a"' Literal.String.Double '\n' Text ' us-west-2' Name.Attribute ' ' Text '=' Operator ' ' Text '"ami-21f78e11"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'resource' Keyword.Reserved ' ' Text '"aws_internet_gateway" "base_igw"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' vpc_id' Name.Attribute ' ' Text '=' Operator ' ' Text '"${aws_vpc.something.id}"' Literal.String.Double '\n' Text ' ' Text 'tags' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' Name' Name.Attribute ' ' Text '=' Operator ' ' Text '"igw-${var.something}-${var.something}"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'provider' Keyword.Reserved ' ' Text '"aws"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' access_key' Name.Attribute ' ' Text '=' Operator ' ' Text '"${myvar}"' Literal.String.Double '\n' Text ' secret_key' Name.Attribute ' ' Text '=' Operator ' ' Text '"your aws secret key"' Literal.String.Double '\n' Text ' region' Name.Attribute ' ' Text '=' Operator ' ' Text '"us-east-1"' Literal.String.Double '\n' Text '}' Text.Punctuation '\n/*' Comment.Multiline ' ' Comment.Multiline 'm' Comment.Multiline 'u' Comment.Multiline 'l' Comment.Multiline 't' Comment.Multiline 'i' Comment.Multiline 'l' Comment.Multiline 'i' Comment.Multiline 'n' Comment.Multiline 'e' Comment.Multiline '\n' Comment.Multiline '\n' Comment.Multiline ' ' Comment.Multiline ' ' Comment.Multiline 'c' Comment.Multiline 'o' Comment.Multiline 'm' Comment.Multiline 'm' Comment.Multiline 'e' Comment.Multiline 'n' Comment.Multiline 't' Comment.Multiline '\n' Comment.Multiline '\n' Comment.Multiline '*/' Comment.Multiline '\n' Text '\n' Text '\n' Text 'resource' Keyword.Reserved ' ' Text '"aws_route53_record" "test"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' zone_id' Name.Attribute ' ' Text '=' Operator ' ' Text '"zone"' Literal.String.Double '\n' Text ' name' Name.Attribute ' ' Text '=' Operator ' ' Text '"name"' Literal.String.Double '\n' Text ' type' Name.Attribute ' ' Text '=' Operator ' ' Text '"A"' Literal.String.Double '\n' Text ' ' Text 'alias' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' name' Name.Attribute ' ' Text '=' Operator ' ' Text '"alias name"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '}' Text.Punctuation '\n\n# Single line comment\n' Comment.Single 'resource' Keyword.Reserved ' ' Text '"aws_instance" "example"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' ami' Name.Attribute ' ' Text '=' Operator ' ' Text '"ami-408c7f28"' Literal.String.Double '\n' Text ' instance_type' Name.Attribute ' ' Text '=' Operator ' ' Text '"t1.micro"' Literal.String.Double '\n' Text ' key_name' Name.Attribute ' ' Text '=' Operator ' ' Text '"your-aws-key-name"' Literal.String.Double '\n' Text '}' Text.Punctuation '\n\n# Create our Heroku application. Heroku will\n' Comment.Single '# automatically assign a name.\n' Comment.Single 'resource' Keyword.Reserved ' ' Text '"heroku_app" "web"' Literal.String ' ' Text '{' Text.Punctuation '}' Text.Punctuation '\n' Text '\n# Create our DNSimple record to point to the\n' Comment.Single '# heroku application.\n' Comment.Single 'resource' Keyword.Reserved ' ' Text '"dnsimple_record" "web"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' domain' Name.Attribute ' ' Text '=' Operator ' ' Text '"${var.dnsimple_domain}"' Literal.String.Double '\n\n # heroku_hostname is a computed attribute on the heroku\n' Comment.Single ' # application we can use to determine the hostname\n' Comment.Single ' value' Name.Attribute ' ' Text '=' Operator ' ' Text '"${heroku_app.web.heroku_hostname}"' Literal.String.Double '\n' Text '\n' Text ' type' Name.Attribute ' ' Text '=' Operator ' ' Text '"CNAME"' Literal.String.Double '\n' Text ' ttl' Name.Attribute ' ' Text '=' Operator ' ' Text '3600' Literal.Number '\n' Text '}' Text.Punctuation '\n\n# The Heroku domain, which will be created and added\n' Comment.Single '# to the heroku application after we have assigned the domain\n' Comment.Single '# in DNSimple\n' Comment.Single 'resource' Keyword.Reserved ' ' Text '"heroku_domain" "foobar"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' app' Name.Attribute ' ' Text '=' Operator ' ' Text '"${heroku_app.web.name}"' Literal.String.Double '\n' Text ' hostname' Name.Attribute ' ' Text '=' Operator ' ' Text '"${dnsimple_record.web.hostname}"' Literal.String.Double '\n' Text '}' Text.Punctuation '\n\n# Specify the provider and access details\n' Comment.Single 'provider' Keyword.Reserved ' ' Text '"aws"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' region' Name.Attribute ' ' Text '=' Operator ' ' Text '"${var.aws_region}"' Literal.String.Double '\n' Text ' value' Name.Attribute ' ' Text '=' Operator ' ' Text '"${file("path.txt")}"' Literal.String.Double '\n' Text '}' Text.Punctuation '\n\n# Our default security group to access\n' Comment.Single '# the instances over SSH and HTTP\n' Comment.Single 'resource' Keyword.Reserved ' ' Text '"aws_security_group" "default"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' name' Name.Attribute ' ' Text '=' Operator ' ' Text '"terraform_example"' Literal.String.Double '\n' Text ' description' Name.Attribute ' ' Text '=' Operator ' ' Text '"Used in the terraform"' Literal.String.Double '\n\n # SSH access from anywhere\n' Comment.Single ' ' Text 'ingress' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' from_port' Name.Attribute ' ' Text '=' Operator ' ' Text '22' Literal.Number '\n' Text ' to_port' Name.Attribute ' ' Text '=' Operator ' ' Text '22' Literal.Number '\n' Text ' protocol' Name.Attribute ' ' Text '=' Operator ' ' Text '"tcp"' Literal.String.Double '\n' Text ' cidr_blocks' Name.Attribute ' ' Text '=' Operator ' ' Text '[' Punctuation '"0.0.0.0/0"' Literal.String.Double ']' Punctuation '\n' Text ' ' Text '}' Text.Punctuation '\n\n # HTTP access from anywhere\n' Comment.Single ' ' Text 'ingress' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' from_port' Name.Attribute ' ' Text '=' Operator ' ' Text '80' Literal.Number '\n' Text ' to_port' Name.Attribute ' ' Text '=' Operator ' ' Text '80' Literal.Number '\n' Text ' protocol' Name.Attribute ' ' Text '=' Operator ' ' Text '"tcp"' Literal.String.Double '\n' Text ' cidr_blocks' Name.Attribute ' ' Text '=' Operator ' ' Text '[' Punctuation '"0.0.0.0/0"' Literal.String.Double ']' Punctuation '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'resource' Keyword.Reserved ' ' Text '"aws_elb" "web"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' name' Name.Attribute ' ' Text '=' Operator ' ' Text '"terraform-example-elb"' Literal.String.Double '\n\n # The same availability zone as our instance\n' Comment.Single ' availability_zones' Name.Attribute ' ' Text '=' Operator ' ' Text '[' Punctuation '"${aws_instance.web.availability_zone}"' Literal.String.Double ']' Punctuation '\n' Text '\n' Text ' ' Text 'listener' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' instance_port' Name.Attribute ' ' Text '=' Operator ' ' Text '80' Literal.Number '\n' Text ' instance_protocol' Name.Attribute ' ' Text '=' Operator ' ' Text '"http"' Literal.String.Double '\n' Text ' lb_port' Name.Attribute ' ' Text '=' Operator ' ' Text '80' Literal.Number '\n' Text ' lb_protocol' Name.Attribute ' ' Text '=' Operator ' ' Text '"http"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n\n # The instance is registered automatically\n' Comment.Single ' instances' Name.Attribute ' ' Text '=' Operator ' ' Text '[' Punctuation '"${aws_instance.web.id}"' Literal.String.Double ']' Punctuation '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'resource' Keyword.Reserved ' ' Text '"aws_instance" "web"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' # The connection block tells our provisioner how to\n' Comment.Single ' # communicate with the resource (instance)\n' Comment.Single ' ' Text 'connection' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n # The default username for our AMI\n' Comment.Single ' user' Name.Attribute ' ' Text '=' Operator ' ' Text '"ubuntu"' Literal.String.Double '\n\n # The path to your keyfile\n' Comment.Single ' key_file' Name.Attribute ' ' Text '=' Operator ' ' Text '"${var.key_path}"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '\n' Text ' instance_type' Name.Attribute ' ' Text '=' Operator ' ' Text '"m1.small"' Literal.String.Double '\n\n # Lookup the correct AMI based on the region\n' Comment.Single ' # we specified\n' Comment.Single ' ami' Name.Attribute ' ' Text '=' Operator ' ' Text '"${lookup(var.aws_amis, var.aws_region)}"' Literal.String.Double "\n\n # The name of our SSH keypair you've created and downloaded\n" Comment.Single ' # from the AWS console.\n' Comment.Single ' #\n' Comment.Single ' # https://console.aws.amazon.com/ec2/v2/home?region=us-west-2#KeyPairs:\n' Comment.Single ' #\n' Comment.Single ' key_name' Name.Attribute ' ' Text '=' Operator ' ' Text '"${var.key_name}"' Literal.String.Double '\n\n # Our Security group to allow HTTP and SSH access\n' Comment.Single ' security_groups' Name.Attribute ' ' Text '=' Operator ' ' Text '[' Punctuation '"${aws_security_group.default.name}"' Literal.String.Double ']' Punctuation '\n' Text '\n' Text ' ' Text 'tags' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' Name' Name.Attribute ' ' Text '=' Operator ' ' Text '"web-small"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n\n # We run a remote provisioner on the instance after creating it.\n' Comment.Single ' # In this case, we just install nginx and start it. By default,\n' Comment.Single ' # this should be on port 80\n' Comment.Single ' ' Text 'provisioner' Keyword.Reserved ' ' Text '"remote-exec"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' inline' Name.Attribute ' ' Text '=' Operator ' ' Text '[' Punctuation '\n' Text ' ' Text '"sudo apt-get -y update"' Literal.String.Double ',' Punctuation '\n' Text ' ' Text '"sudo apt-get -y install nginx"' Literal.String.Double ',' Punctuation '\n' Text ' ' Text '"sudo service nginx start"' Literal.String.Double '\n' Text ' ' Text ']' Punctuation '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'data' Keyword.Reserved ' ' Text '"template_file" "iam_policy"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' count' Name.Attribute ' ' Text '=' Operator ' ' Text '5' Literal.Number '\n' Text '\n' Text ' ' Text 'vars' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' region' Name.Attribute ' ' Text '=' Operator ' ' Text '"us-west-1"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '\n' Text ' ' Text 'config' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' name' Name.Attribute ' ' Text '=' Operator ' ' Text '"hashicorp/vpc-prod"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'output' Keyword.Reserved ' ' Text '"web_public_ip"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' value' Name.Attribute ' ' Text '=' Operator ' ' Text '[' Punctuation '"${aws_instance.web.public_ip}"' Literal.String.Double ']' Punctuation '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'resource' Keyword.Reserved ' ' Text '"aws_autoscaling_group" "bar"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' name' Name.Attribute ' ' Text '=' Operator ' ' Text '"terraform-asg-example"' Literal.String.Double '\n' Text ' launch_configuration' Name.Attribute ' ' Text '=' Operator ' ' Text '"${aws_launch_configuration.as_conf.name}"' Literal.String.Double '\n' Text ' min_size' Name.Attribute ' ' Text '=' Operator ' ' Text '1' Literal.Number '\n' Text ' max_size' Name.Attribute ' ' Text '=' Operator ' ' Text '2' Literal.Number '\n' Text '\n' Text ' ' Text 'lifecycle' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' create_before_destroy' Name.Attribute ' ' Text '=' Operator ' ' Text 'true' Keyword.Type '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '}' Text.Punctuation '\n' Text '\n' Text 'resource' Keyword.Reserved ' ' Text '"aws_db_instance" "timeout_example"' Literal.String ' ' Text '{' Text.Punctuation '\n' Text ' allocated_storage' Name.Attribute ' ' Text '=' Operator ' ' Text '10' Literal.Number '\n' Text ' engine' Name.Attribute ' ' Text '=' Operator ' ' Text '"mysql"' Literal.String.Double '\n' Text ' engine_version' Name.Attribute ' ' Text '=' Operator ' ' Text '"5.6.17"' Literal.String.Double '\n' Text ' instance_class' Name.Attribute ' ' Text '=' Operator ' ' Text '"db.t1.micro"' Literal.String.Double '\n' Text ' name' Name.Attribute ' ' Text '=' Operator ' ' Text '"mydb"' Literal.String.Double '\n' Text '\n' Text ' ' Text 'timeouts' Keyword.Declaration ' ' Text '{' Text.Punctuation '\n' Text ' create' Name.Attribute ' ' Text '=' Operator ' ' Text '"60m"' Literal.String.Double '\n' Text ' delete' Name.Attribute ' ' Text '=' Operator ' ' Text '"2h"' Literal.String.Double '\n' Text ' ' Text '}' Text.Punctuation '\n' Text '}' Text.Punctuation '\n' Text