github.com/jpreese/tflint@v0.19.2-0.20200908152133-b01686250fb6/docs/rules/README.md (about) 1 # Rules 2 3 Rules related to AWS provider and Terraform are available. These rules are enabled by default. 4 5 ## AWS Rules 6 7 These rules relate to AWS provider. 8 9 ### Possible Errors 10 11 These rules warn of possible errors that can occur at `terraform apply`. Rules marked with `Deep` are only used when enabling deep checking: 12 13 |Rule|Deep| 14 | --- | --- | 15 |aws_alb_invalid_security_group|✔| 16 |aws_alb_invalid_subnet|✔| 17 |aws_db_instance_invalid_db_subnet_group|✔| 18 |aws_db_instance_invalid_option_group|✔| 19 |aws_db_instance_invalid_parameter_group|✔| 20 |aws_db_instance_invalid_type|| 21 |aws_db_instance_invalid_vpc_security_group|✔| 22 |aws_elasticache_cluster_invalid_parameter_group|✔| 23 |aws_elasticache_cluster_invalid_security_group|✔| 24 |aws_elasticache_cluster_invalid_subnet_group|✔| 25 |aws_elasticache_cluster_invalid_type|| 26 |aws_elb_invalid_instance|✔| 27 |aws_elb_invalid_security_group|✔| 28 |aws_elb_invalid_subnet|✔| 29 |aws_instance_invalid_ami|✔| 30 |aws_instance_invalid_iam_profile|✔| 31 |aws_instance_invalid_key_name|✔| 32 |aws_instance_invalid_subnet|✔| 33 |aws_instance_invalid_vpc_security_group|✔| 34 |aws_launch_configuration_invalid_iam_profile|✔| 35 |aws_launch_configuration_invalid_image_id|✔| 36 |aws_route_invalid_egress_only_gateway|✔| 37 |aws_route_invalid_gateway|✔| 38 |aws_route_invalid_instance|✔| 39 |aws_route_invalid_nat_gateway|✔| 40 |aws_route_invalid_network_interface|✔| 41 |aws_route_invalid_route_table|✔| 42 |aws_route_invalid_vpc_peering_connection|✔| 43 |[aws_route_not_specified_target](aws_route_not_specified_target.md)|| 44 |[aws_route_specified_multiple_targets](aws_route_specified_multiple_targets.md)|| 45 46 #### SDK-based Validations 47 48 700+ rules based on the aws-sdk validations are also available. See [full list](../../rules/awsrules/models/). 49 50 ### Best Practices 51 52 These rules suggest to better ways. 53 54 - [aws_instance_previous_type](aws_instance_previous_type.md) 55 - [aws_db_instance_previous_type](aws_db_instance_previous_type.md) 56 - [aws_db_instance_default_parameter_group](aws_db_instance_default_parameter_group.md) 57 - [aws_elasticache_cluster_previous_type](aws_elasticache_cluster_previous_type.md) 58 - [aws_elasticache_cluster_default_parameter_group](aws_elasticache_cluster_default_parameter_group.md) 59 60 ## Terraform Rules 61 62 These rules relate to Terraform itself, not providers. 63 64 ### Best Practices 65 66 These rules suggest to better ways. 67 68 |Rule|Enabled by default| 69 | --- | --- | 70 |[terraform_deprecated_interpolation](terraform_deprecated_interpolation.md)|✔| 71 |[terraform_deprecated_index](terraform_deprecated_index.md)|| 72 |[terraform_unused_declarations](terraform_unused_declarations.md)|| 73 |[terraform_comment_syntax](terraform_comment_syntax.md)|| 74 |[terraform_documented_outputs](terraform_documented_outputs.md)|| 75 |[terraform_documented_variables](terraform_documented_variables.md)|| 76 |[terraform_typed_variables](terraform_typed_variables.md)|| 77 |[terraform_module_pinned_source](terraform_module_pinned_source.md)|✔| 78 |[terraform_naming_convention](terraform_naming_convention.md)|| 79 |[terraform_required_version](terraform_required_version.md)|| 80 |[terraform_required_providers](terraform_required_providers.md)|| 81 |[terraform_standard_module_structure](terraform_standard_module_structure.md)|| 82 |[terraform_workspace_remote](terraform_workspace_remote.md)|✔|