Skip to content

Plugin is not compatible with newer versions of TFLint #149

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]

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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