Skip to content

Plugin is not compatible with newer versions of TFLint #149

@dougireton

Description

@dougireton

What were you trying to accomplish?

Running tflint with the serverless-rules installed

Expected Behavior

TFLint works with this plugin

Current Behavior

Failed to initialize plugins; Incompatible API version with plugin "aws-serverless". Plugin version: 9, TFLint versions: [10]

Possible Solution

Steps to Reproduce (for bugs)

  1. Install newest version of tflint 0.35.0
  2. Add plugin "aws-serverless" to your .tflint.hcl file.
  3. Run tflint in a Terraform repo

Environment

MacOS

  • Infrastructure as code technology used:

TFLint version 0.35.0

.tflint.hcl file

config {
  module = true
}

plugin "aws" {
  enabled = true
  version = "0.13.2"
  source  = "github.com/terraform-linters/tflint-ruleset-aws"
}

plugin "aws-serverless" {
  enabled = true
  version = "0.3.2"
  source = "github.com/awslabs/serverless-rules"
}
  • Debugging logs
❯ tflint --loglevel=debug
17:17:02 config.go:110: [INFO] Load config: .tflint.hcl
17:17:02 config.go:365: [DEBUG] Config loaded
17:17:02 config.go:366: [DEBUG]   Module: true
17:17:02 config.go:367: [DEBUG]   Force: false
17:17:02 config.go:368: [DEBUG]   IgnoreModules: map[string]bool{}
17:17:02 config.go:369: [DEBUG]   Varfiles: []string{}
17:17:02 config.go:370: [DEBUG]   Variables: []string{}
17:17:02 config.go:371: [DEBUG]   DisabledByDefault: false
17:17:02 config.go:372: [DEBUG]   PluginDir:
17:17:02 config.go:373: [DEBUG]   Rules: map[string]*tflint.RuleConfig{}
17:17:02 config.go:374: [DEBUG]   Plugins: map[string]*tflint.PluginConfig{"aws":(*tflint.PluginConfig)(0xc000181500), "aws-serverless":(*tflint.PluginConfig)(0xc000181580)}
17:17:02 option.go:49: [DEBUG] CLI Options
17:17:02 option.go:50: [DEBUG]   Module: false
17:17:02 option.go:51: [DEBUG]   Force: false
17:17:02 option.go:52: [DEBUG]   IgnoreModules: map[string]bool{}
17:17:02 option.go:53: [DEBUG]   EnableRules: []string(nil)
17:17:02 option.go:54: [DEBUG]   DisableRules: []string(nil)
17:17:02 option.go:55: [DEBUG]   Only: []string(nil)
17:17:02 option.go:56: [DEBUG]   EnablePlugins: []string(nil)
17:17:02 option.go:57: [DEBUG]   Varfiles: []string{}
17:17:02 option.go:58: [DEBUG]   Variables: []string{}
17:17:02 loader.go:57: [INFO] Initialize new loader
17:17:02 loader.go:68: [INFO] Module manifest file found. Initializing...
17:17:02 loader.go:291: [DEBUG] Parsing the module manifest file: {"Modules":[{"Key":"","Source":"","Dir":"."},{"Key":"vpn_instance","Source":"registry.terraform.io/terraform-aws-modules/ec2-instance/aws","Version":"3.5.0","Dir":".terraform/modules/vpn_instance"}]}
17:17:02 loader.go:82: [INFO] Load configurations under .
17:17:02 loader.go:97: [INFO] Module inspection is enabled. Building a root module with children...
17:17:02 loader.go:273: [DEBUG] Trying to load the module: key=module.vpn_instance, version=3.5.0, dir=.terraform/modules/vpn_instance
17:17:02 loader.go:170: [INFO] Load values files
17:17:02 runner.go:58: [INFO] Initialize new runner for root
17:17:02 terraform.go:79: [INFO] environment file found: network-infrastructure-staging
17:17:02 runner.go:223: [DEBUG] `vpc_security_group_ids` has been marked as unknown
17:17:02 runner.go:223: [DEBUG] `ami` has been marked as unknown
17:17:02 runner.go:223: [DEBUG] `subnet_id` has been marked as unknown
17:17:02 runner.go:223: [DEBUG] `iam_instance_profile` has been marked as unknown
17:17:02 runner.go:223: [DEBUG] `user_data` has been marked as unknown
17:17:02 runner.go:223: [DEBUG] `volume_tags` has been marked as unknown
17:17:02 runner.go:58: [INFO] Initialize new runner for module.vpn_instance
17:17:02 terraform.go:79: [INFO] environment file found: network-infrastructure-staging
17:17:02 runner_eval.go:40: [INFO] unevaluable expression found in .terraform/modules/vpn_instance/main.tf:8. TFLint ignores unevaluable expressions.
17:17:02 runner_eval.go:40: [INFO] unevaluable expression found in .terraform/modules/vpn_instance/main.tf:141. TFLint ignores unevaluable expressions.
17:17:02 discovery.go:79: [DEBUG] Find plugin path: /Users/doug/.tflint.d/plugins/github.com/terraform-linters/tflint-ruleset-aws/0.13.2/tflint-ruleset-aws
17:17:02 discovery.go:43: [INFO] Plugin `aws` found
17:17:02 discovery.go:79: [DEBUG] Find plugin path: /Users/doug/.tflint.d/plugins/github.com/awslabs/serverless-rules/0.3.2/tflint-ruleset-aws-serverless
17:17:02 discovery.go:43: [INFO] Plugin `aws-serverless` found

Failed to initialize plugins; Incompatible API version with plugin "aws-serverless". Plugin version: 9, TFLint versions: [10]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions