Skip to content

Commit 4ca359d

Browse files
committed
fix: replace panics with proper error handling, update mappings
Update the generator to handle AWS Provider v6 schema differences: - Replace panic calls with proper error handling that exits with status 1 - Remove deprecated attributes that no longer exist in AWS Provider v6: - aws_eip.vpc - aws_instance.cpu_core_count - aws_instance.cpu_threads_per_core - aws_launch_template.elastic_inference_accelerator - aws_launch_template.elastic_gpu_specifications This ensures the maintenance workflow fails gracefully with clear error messages when mappings are incompatible with the provider schema.
1 parent a5b90ef commit 4ca359d

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

docs/rules/README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,14 @@ These rules enforce best practices and naming conventions:
517517
|aws_dms_endpoint_invalid_endpoint_type||
518518
|aws_dms_endpoint_invalid_ssl_mode||
519519
|aws_dms_replication_task_invalid_migration_type||
520+
|aws_dms_s3_endpoint_invalid_canned_acl_for_objects||
521+
|aws_dms_s3_endpoint_invalid_compression_type||
522+
|aws_dms_s3_endpoint_invalid_data_format||
523+
|aws_dms_s3_endpoint_invalid_date_partition_delimiter||
524+
|aws_dms_s3_endpoint_invalid_date_partition_sequence||
525+
|aws_dms_s3_endpoint_invalid_encoding_type||
526+
|aws_dms_s3_endpoint_invalid_encryption_mode||
527+
|aws_dms_s3_endpoint_invalid_parquet_version||
520528
|aws_docdb_global_cluster_invalid_global_cluster_identifier||
521529
|aws_dx_bgp_peer_invalid_address_family||
522530
|aws_dx_hosted_private_virtual_interface_invalid_address_family||
@@ -586,7 +594,6 @@ These rules enforce best practices and naming conventions:
586594
|aws_efs_mount_target_invalid_ip_address||
587595
|aws_efs_mount_target_invalid_subnet_id||
588596
|aws_eks_addon_invalid_cluster_name||
589-
|aws_eks_addon_invalid_resolve_conflicts||
590597
|aws_eks_addon_invalid_service_account_role_arn||
591598
|aws_eks_cluster_invalid_name||
592599
|aws_eks_node_group_invalid_ami_type||
@@ -930,11 +937,6 @@ These rules enforce best practices and naming conventions:
930937
|aws_networkfirewall_rule_group_invalid_name||
931938
|aws_networkfirewall_rule_group_invalid_rules||
932939
|aws_networkfirewall_rule_group_invalid_type||
933-
|aws_opsworks_application_invalid_type||
934-
|aws_opsworks_instance_invalid_architecture||
935-
|aws_opsworks_instance_invalid_auto_scaling_type||
936-
|aws_opsworks_instance_invalid_root_device_type||
937-
|aws_opsworks_stack_invalid_default_root_device_type||
938940
|aws_organizations_account_invalid_email||
939941
|aws_organizations_account_invalid_iam_user_access_to_billing||
940942
|aws_organizations_account_invalid_name||
@@ -1260,7 +1262,6 @@ These rules enforce best practices and naming conventions:
12601262
|aws_ssm_association_invalid_association_name||
12611263
|aws_ssm_association_invalid_compliance_severity||
12621264
|aws_ssm_association_invalid_document_version||
1263-
|aws_ssm_association_invalid_instance_id||
12641265
|aws_ssm_association_invalid_max_concurrency||
12651266
|aws_ssm_association_invalid_max_errors||
12661267
|aws_ssm_association_invalid_name||

rules/models/generator/main.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"encoding/json"
77
"fmt"
88
"io/ioutil"
9+
"os"
910
"path/filepath"
1011
"sort"
1112

@@ -82,8 +83,8 @@ func main() {
8283
model := shapes[shapeName].(map[string]interface{})
8384
schema, err := fetchSchema(mapping.Resource, attribute, model, awsProvider)
8485
if err != nil {
85-
fmt.Printf("Skipping `%s.%s`: %v\n", mapping.Resource, attribute, err)
86-
continue
86+
fmt.Fprintf(os.Stderr, "Error processing `%s.%s`: %v\n", mapping.Resource, attribute, err)
87+
os.Exit(1)
8788
}
8889
if validMapping(model) {
8990
fmt.Printf("Generating rule for `%s.%s`\n", mapping.Resource, attribute)

rules/models/mappings/ec2.hcl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,6 @@ mapping "aws_launch_template" {
321321
credit_specification = CreditSpecificationRequest
322322
disable_api_termination = Boolean
323323
ebs_optimized = Boolean
324-
elastic_gpu_specifications = ElasticGpuSpecificationList
325-
elastic_inference_accelerator = LaunchTemplateElasticInferenceAcceleratorList
326324
iam_instance_profile = LaunchTemplateIamInstanceProfileSpecificationRequest
327325
image_id = String
328326
instance_initiated_shutdown_behavior = ShutdownBehavior

0 commit comments

Comments
 (0)