Terraform error "Your query returned no results"
Terraform data source is to access an existing resource, not to create one.
data "aws_ami" "bom-ami"
As in the documentation, the AMI needs to exist already.
Use this data source to get the ID of a registered AMI for use in other resources.
If you are creating an AMI from an EBS snapshot taken from an EC2 instance (e.g. Amazon Linux EC2), then:
Please note the difference between data and resource.
To create a custom AMI image, please also consider Hashicorp packer.
Ashif Nataliya
I am a senior devOps engineer with 12+ years of experience working on latest technologies like AWS, Ansible, Terraform, Packer, Akamai, Docker and AWS CodeDeploy. I write blogs about rare topics which is hard to find on internet. Check my blog in my website link for more information.
Updated on June 16, 2022Comments
-
Ashif Nataliya almost 2 years
I have below bom-asg.tf file.
data "aws_ami" "bom-ami" { most_recent = true filter { name = "tag:ami_name" values = ["${var.environment}-bom-ami"] } owners = ["****"] } resource "aws_security_group" "bom-sg" { name_prefix = "${var.environment}-bom-asg-sg" vpc_id = "${var.vpc_id}" .....
I am unable to successfully execute refresh and plan commands. I am getting below errors.
terraform plan --var-file=environment-parity.tfvars -target=bom-asg.tf --out apply.out Refreshing Terraform state in-memory prior to plan... The refreshed state will be used to calculate this plan, but will not be persisted to local or remote state storage. ------------------------------------------------------------------------ No changes. Infrastructure is up-to-date. This means that Terraform did not detect any differences between your configuration and real physical resources that exist. As a result, no actions need to be performed.
But when I run refresh. I am getting below error.
terraform refresh --var-file=environment-parity.tfvars data.template_file.es_access_policy_search: Refreshing state... data.aws_ami.nginx-ami: Refreshing state... data.aws_ami.php-search-ami: Refreshing state... data.aws_ami.ng-ami: Refreshing state... data.aws_ami.mysql-ami: Refreshing state... data.aws_ami.frontend-search-ami: Refreshing state... data.aws_ami.bom-ami: Refreshing state... data.aws_ami.lg-ami: Refreshing state... data.aws_ami.rabbitmq-search-ami: Refreshing state... data.aws_ami.ngas-ng-drupal-ami: Refreshing state... data.aws_ami.mongodb-ami: Refreshing state... Error: Error refreshing state: 1 error(s) occurred: * data.aws_ami.bom-ami: 1 error(s) occurred: * data.aws_ami.bom-ami: data.aws_ami.bom-ami: Your query returned no results. Please change your search criteria and try again.
Can you please help?