I am adding a CNAME record using terraform and I want to point it to hostname I created using terraform on linode.
This is my main.tf
terraform {
required_providers {
linode = {
source = "linode/linode"
version = "1.16.0"
}
}
}
provider "linode" {
token = "some_secret_token"
}
resource "linode_instance" "example_instance" {
label = "example_instance_ubuntu-eu-west"
image = "linode/ubuntu20.04"
region = "eu-west"
type = "g6-nanode-1"
root_pass = "testing@linode"
}
resource "linode_domain" "example_domain" {
domain = "example.mydomain.com"
soa_email= "my@email.com"
type = "master"
}
resource "linode_domain_record" "example_domain_record" {
domain_id = linode_domain.example_domain.id
name = "example.mydomain.com"
record_type= "CNAME"
target = linode_instance.example_instance.label
ttl_sec = 300
}
terrafomr plan
results in
linode_domain.example_domain: Refreshing state... [id=1753447] linode_instance.example_instance: Refreshing state... [id=33094611]
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
- create
Terraform will perform the following actions:
# linode_domain_record.example_domain_record will be created
+ resource "linode_domain_record" "example_domain_record" {
+ domain_id = 1753447
+ id = (known after apply)
+ name = "example.mydomain.com"
+ record_type = "CNAME"
+ target = "example_instance_ubuntu-eu-west"
+ ttl_sec = 300
}
Plan: 1 to add, 0 to change, 0 to destroy.
But terraform apply
errors:
linode_domain_record.example_domain_record: Creating...
╷
│ Error: Error creating a Linode DomainRecord: [400] [target] You have entered an invalid target. It must be a valid hostname.; [name] Invalid hostname
│
│ with linode_domain_record.example_domain_record,
│ on main.tf line 28, in resource "linode_domain_record" "example_domain_record":
│ 28: resource "linode_domain_record" "example_domain_record" {
│
╵
but example_instance_ubuntu-eu-west
does exist in the my linodes