From e38cc32c197bd9c2fd02caa538706bc397ac2228 Mon Sep 17 00:00:00 2001 From: Pat Myron Date: Thu, 10 Feb 2022 20:46:39 -0800 Subject: [PATCH 1/4] aws_spot_instance_request.instance_interruption_behaviour deprecated https://www.hashicorp.com/blog/terraform-aws-provider-4-0-refactors-s3-bucket-resource https://github.com/hashicorp/terraform-provider-aws/releases/tag/v4.0.0 --- rules/models/mappings/ec2.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules/models/mappings/ec2.hcl b/rules/models/mappings/ec2.hcl index 20655e79..f63fdc96 100644 --- a/rules/models/mappings/ec2.hcl +++ b/rules/models/mappings/ec2.hcl @@ -383,7 +383,7 @@ mapping "aws_spot_instance_request" { spot_type = String launch_group = String block_duration_minutes = Integer - instance_interruption_behaviour = InstanceInterruptionBehavior + # instance_interruption_behaviour = InstanceInterruptionBehavior valid_until = DateTime valid_from = DateTime tags = TagSpecificationList From c07fc4dbaf36eeacf6dde6ad07799c7531a05cfc Mon Sep 17 00:00:00 2001 From: Pat Myron Date: Thu, 10 Feb 2022 20:52:22 -0800 Subject: [PATCH 2/4] renaming rather than removing --- rules/models/mappings/ec2.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules/models/mappings/ec2.hcl b/rules/models/mappings/ec2.hcl index f63fdc96..b6e95f20 100644 --- a/rules/models/mappings/ec2.hcl +++ b/rules/models/mappings/ec2.hcl @@ -383,7 +383,7 @@ mapping "aws_spot_instance_request" { spot_type = String launch_group = String block_duration_minutes = Integer - # instance_interruption_behaviour = InstanceInterruptionBehavior + instance_interruption_behavior = InstanceInterruptionBehavior valid_until = DateTime valid_from = DateTime tags = TagSpecificationList From df83cfbbad385ef79c2a9c2b4872eb3e21c4d345 Mon Sep 17 00:00:00 2001 From: Pat Myron Date: Thu, 10 Feb 2022 20:52:53 -0800 Subject: [PATCH 3/4] formatting --- rules/models/mappings/ec2.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules/models/mappings/ec2.hcl b/rules/models/mappings/ec2.hcl index b6e95f20..425f7984 100644 --- a/rules/models/mappings/ec2.hcl +++ b/rules/models/mappings/ec2.hcl @@ -383,7 +383,7 @@ mapping "aws_spot_instance_request" { spot_type = String launch_group = String block_duration_minutes = Integer - instance_interruption_behavior = InstanceInterruptionBehavior + instance_interruption_behavior = InstanceInterruptionBehavior valid_until = DateTime valid_from = DateTime tags = TagSpecificationList From 6134df792b3f19bc45f06f57dc74cf41803f096a Mon Sep 17 00:00:00 2001 From: Pat Myron Date: Thu, 10 Feb 2022 21:04:07 -0800 Subject: [PATCH 4/4] go generate --- docs/rules/README.md | 2 +- ...invalid_instance_interruption_behavior.go} | 26 +++++++++---------- rules/models/provider.go | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) rename rules/models/{aws_spot_instance_request_invalid_instance_interruption_behaviour.go => aws_spot_instance_request_invalid_instance_interruption_behavior.go} (73%) diff --git a/docs/rules/README.md b/docs/rules/README.md index 9311d4ff..bbdc7d41 100644 --- a/docs/rules/README.md +++ b/docs/rules/README.md @@ -1269,7 +1269,7 @@ These rules enforce best practices and naming conventions: |aws_spot_fleet_request_invalid_allocation_strategy|✔| |aws_spot_fleet_request_invalid_fleet_type|✔| |aws_spot_fleet_request_invalid_instance_interruption_behaviour|✔| -|aws_spot_instance_request_invalid_instance_interruption_behaviour|✔| +|aws_spot_instance_request_invalid_instance_interruption_behavior|✔| |aws_ssm_activation_invalid_description|✔| |aws_ssm_activation_invalid_iam_role|✔| |aws_ssm_activation_invalid_name|✔| diff --git a/rules/models/aws_spot_instance_request_invalid_instance_interruption_behaviour.go b/rules/models/aws_spot_instance_request_invalid_instance_interruption_behavior.go similarity index 73% rename from rules/models/aws_spot_instance_request_invalid_instance_interruption_behaviour.go rename to rules/models/aws_spot_instance_request_invalid_instance_interruption_behavior.go index 1f820816..730f408b 100644 --- a/rules/models/aws_spot_instance_request_invalid_instance_interruption_behaviour.go +++ b/rules/models/aws_spot_instance_request_invalid_instance_interruption_behavior.go @@ -10,18 +10,18 @@ import ( "github.com/terraform-linters/tflint-plugin-sdk/tflint" ) -// AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule checks the pattern is valid -type AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule struct { +// AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule checks the pattern is valid +type AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule struct { resourceType string attributeName string enum []string } -// NewAwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule returns new rule with default attributes -func NewAwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule() *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule { - return &AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule{ +// NewAwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule returns new rule with default attributes +func NewAwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule() *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule { + return &AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule{ resourceType: "aws_spot_instance_request", - attributeName: "instance_interruption_behaviour", + attributeName: "instance_interruption_behavior", enum: []string{ "hibernate", "stop", @@ -31,27 +31,27 @@ func NewAwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule() *AwsSpo } // Name returns the rule name -func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule) Name() string { - return "aws_spot_instance_request_invalid_instance_interruption_behaviour" +func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule) Name() string { + return "aws_spot_instance_request_invalid_instance_interruption_behavior" } // Enabled returns whether the rule is enabled by default -func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule) Enabled() bool { +func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule) Enabled() bool { return true } // Severity returns the rule severity -func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule) Severity() string { +func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule) Severity() string { return tflint.ERROR } // Link returns the rule reference link -func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule) Link() string { +func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule) Link() string { return "" } // Check checks the pattern is valid -func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule) Check(runner tflint.Runner) error { +func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule) Check(runner tflint.Runner) error { log.Printf("[TRACE] Check `%s` rule", r.Name()) return runner.WalkResourceAttributes(r.resourceType, r.attributeName, func(attribute *hcl.Attribute) error { @@ -68,7 +68,7 @@ func (r *AwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule) Check(r if !found { runner.EmitIssueOnExpr( r, - fmt.Sprintf(`"%s" is an invalid value as instance_interruption_behaviour`, truncateLongMessage(val)), + fmt.Sprintf(`"%s" is an invalid value as instance_interruption_behavior`, truncateLongMessage(val)), attribute.Expr, ) } diff --git a/rules/models/provider.go b/rules/models/provider.go index 2aa0c8c8..2c4e68a7 100644 --- a/rules/models/provider.go +++ b/rules/models/provider.go @@ -1197,7 +1197,7 @@ var Rules = []tflint.Rule{ NewAwsSpotFleetRequestInvalidAllocationStrategyRule(), NewAwsSpotFleetRequestInvalidFleetTypeRule(), NewAwsSpotFleetRequestInvalidInstanceInterruptionBehaviourRule(), - NewAwsSpotInstanceRequestInvalidInstanceInterruptionBehaviourRule(), + NewAwsSpotInstanceRequestInvalidInstanceInterruptionBehaviorRule(), NewAwsSsmActivationInvalidDescriptionRule(), NewAwsSsmActivationInvalidIAMRoleRule(), NewAwsSsmActivationInvalidNameRule(),