diff --git a/client/aws_ec2_mock.go b/client/aws_ec2_mock.go index 5a9ec78bf..932f8b41d 100644 --- a/client/aws_ec2_mock.go +++ b/client/aws_ec2_mock.go @@ -735,6 +735,56 @@ func (mr *MockEC2APIMockRecorder) AssociateDhcpOptionsWithContext(arg0, arg1 int return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AssociateDhcpOptionsWithContext", reflect.TypeOf((*MockEC2API)(nil).AssociateDhcpOptionsWithContext), varargs...) } +// AssociateEnclaveCertificateIamRole mocks base method +func (m *MockEC2API) AssociateEnclaveCertificateIamRole(arg0 *ec2.AssociateEnclaveCertificateIamRoleInput) (*ec2.AssociateEnclaveCertificateIamRoleOutput, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AssociateEnclaveCertificateIamRole", arg0) + ret0, _ := ret[0].(*ec2.AssociateEnclaveCertificateIamRoleOutput) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AssociateEnclaveCertificateIamRole indicates an expected call of AssociateEnclaveCertificateIamRole +func (mr *MockEC2APIMockRecorder) AssociateEnclaveCertificateIamRole(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AssociateEnclaveCertificateIamRole", reflect.TypeOf((*MockEC2API)(nil).AssociateEnclaveCertificateIamRole), arg0) +} + +// AssociateEnclaveCertificateIamRoleRequest mocks base method +func (m *MockEC2API) AssociateEnclaveCertificateIamRoleRequest(arg0 *ec2.AssociateEnclaveCertificateIamRoleInput) (*request.Request, *ec2.AssociateEnclaveCertificateIamRoleOutput) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AssociateEnclaveCertificateIamRoleRequest", arg0) + ret0, _ := ret[0].(*request.Request) + ret1, _ := ret[1].(*ec2.AssociateEnclaveCertificateIamRoleOutput) + return ret0, ret1 +} + +// AssociateEnclaveCertificateIamRoleRequest indicates an expected call of AssociateEnclaveCertificateIamRoleRequest +func (mr *MockEC2APIMockRecorder) AssociateEnclaveCertificateIamRoleRequest(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AssociateEnclaveCertificateIamRoleRequest", reflect.TypeOf((*MockEC2API)(nil).AssociateEnclaveCertificateIamRoleRequest), arg0) +} + +// AssociateEnclaveCertificateIamRoleWithContext mocks base method +func (m *MockEC2API) AssociateEnclaveCertificateIamRoleWithContext(arg0 context.Context, arg1 *ec2.AssociateEnclaveCertificateIamRoleInput, arg2 ...request.Option) (*ec2.AssociateEnclaveCertificateIamRoleOutput, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AssociateEnclaveCertificateIamRoleWithContext", varargs...) + ret0, _ := ret[0].(*ec2.AssociateEnclaveCertificateIamRoleOutput) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AssociateEnclaveCertificateIamRoleWithContext indicates an expected call of AssociateEnclaveCertificateIamRoleWithContext +func (mr *MockEC2APIMockRecorder) AssociateEnclaveCertificateIamRoleWithContext(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AssociateEnclaveCertificateIamRoleWithContext", reflect.TypeOf((*MockEC2API)(nil).AssociateEnclaveCertificateIamRoleWithContext), varargs...) +} + // AssociateIamInstanceProfile mocks base method func (m *MockEC2API) AssociateIamInstanceProfile(arg0 *ec2.AssociateIamInstanceProfileInput) (*ec2.AssociateIamInstanceProfileOutput, error) { m.ctrl.T.Helper() @@ -16675,6 +16725,56 @@ func (mr *MockEC2APIMockRecorder) DisassociateClientVpnTargetNetworkWithContext( return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DisassociateClientVpnTargetNetworkWithContext", reflect.TypeOf((*MockEC2API)(nil).DisassociateClientVpnTargetNetworkWithContext), varargs...) } +// DisassociateEnclaveCertificateIamRole mocks base method +func (m *MockEC2API) DisassociateEnclaveCertificateIamRole(arg0 *ec2.DisassociateEnclaveCertificateIamRoleInput) (*ec2.DisassociateEnclaveCertificateIamRoleOutput, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DisassociateEnclaveCertificateIamRole", arg0) + ret0, _ := ret[0].(*ec2.DisassociateEnclaveCertificateIamRoleOutput) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DisassociateEnclaveCertificateIamRole indicates an expected call of DisassociateEnclaveCertificateIamRole +func (mr *MockEC2APIMockRecorder) DisassociateEnclaveCertificateIamRole(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DisassociateEnclaveCertificateIamRole", reflect.TypeOf((*MockEC2API)(nil).DisassociateEnclaveCertificateIamRole), arg0) +} + +// DisassociateEnclaveCertificateIamRoleRequest mocks base method +func (m *MockEC2API) DisassociateEnclaveCertificateIamRoleRequest(arg0 *ec2.DisassociateEnclaveCertificateIamRoleInput) (*request.Request, *ec2.DisassociateEnclaveCertificateIamRoleOutput) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DisassociateEnclaveCertificateIamRoleRequest", arg0) + ret0, _ := ret[0].(*request.Request) + ret1, _ := ret[1].(*ec2.DisassociateEnclaveCertificateIamRoleOutput) + return ret0, ret1 +} + +// DisassociateEnclaveCertificateIamRoleRequest indicates an expected call of DisassociateEnclaveCertificateIamRoleRequest +func (mr *MockEC2APIMockRecorder) DisassociateEnclaveCertificateIamRoleRequest(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DisassociateEnclaveCertificateIamRoleRequest", reflect.TypeOf((*MockEC2API)(nil).DisassociateEnclaveCertificateIamRoleRequest), arg0) +} + +// DisassociateEnclaveCertificateIamRoleWithContext mocks base method +func (m *MockEC2API) DisassociateEnclaveCertificateIamRoleWithContext(arg0 context.Context, arg1 *ec2.DisassociateEnclaveCertificateIamRoleInput, arg2 ...request.Option) (*ec2.DisassociateEnclaveCertificateIamRoleOutput, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DisassociateEnclaveCertificateIamRoleWithContext", varargs...) + ret0, _ := ret[0].(*ec2.DisassociateEnclaveCertificateIamRoleOutput) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DisassociateEnclaveCertificateIamRoleWithContext indicates an expected call of DisassociateEnclaveCertificateIamRoleWithContext +func (mr *MockEC2APIMockRecorder) DisassociateEnclaveCertificateIamRoleWithContext(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DisassociateEnclaveCertificateIamRoleWithContext", reflect.TypeOf((*MockEC2API)(nil).DisassociateEnclaveCertificateIamRoleWithContext), varargs...) +} + // DisassociateIamInstanceProfile mocks base method func (m *MockEC2API) DisassociateIamInstanceProfile(arg0 *ec2.DisassociateIamInstanceProfileInput) (*ec2.DisassociateIamInstanceProfileOutput, error) { m.ctrl.T.Helper() @@ -17525,6 +17625,56 @@ func (mr *MockEC2APIMockRecorder) ExportTransitGatewayRoutesWithContext(arg0, ar return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExportTransitGatewayRoutesWithContext", reflect.TypeOf((*MockEC2API)(nil).ExportTransitGatewayRoutesWithContext), varargs...) } +// GetAssociatedEnclaveCertificateIamRoles mocks base method +func (m *MockEC2API) GetAssociatedEnclaveCertificateIamRoles(arg0 *ec2.GetAssociatedEnclaveCertificateIamRolesInput) (*ec2.GetAssociatedEnclaveCertificateIamRolesOutput, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAssociatedEnclaveCertificateIamRoles", arg0) + ret0, _ := ret[0].(*ec2.GetAssociatedEnclaveCertificateIamRolesOutput) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAssociatedEnclaveCertificateIamRoles indicates an expected call of GetAssociatedEnclaveCertificateIamRoles +func (mr *MockEC2APIMockRecorder) GetAssociatedEnclaveCertificateIamRoles(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAssociatedEnclaveCertificateIamRoles", reflect.TypeOf((*MockEC2API)(nil).GetAssociatedEnclaveCertificateIamRoles), arg0) +} + +// GetAssociatedEnclaveCertificateIamRolesRequest mocks base method +func (m *MockEC2API) GetAssociatedEnclaveCertificateIamRolesRequest(arg0 *ec2.GetAssociatedEnclaveCertificateIamRolesInput) (*request.Request, *ec2.GetAssociatedEnclaveCertificateIamRolesOutput) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAssociatedEnclaveCertificateIamRolesRequest", arg0) + ret0, _ := ret[0].(*request.Request) + ret1, _ := ret[1].(*ec2.GetAssociatedEnclaveCertificateIamRolesOutput) + return ret0, ret1 +} + +// GetAssociatedEnclaveCertificateIamRolesRequest indicates an expected call of GetAssociatedEnclaveCertificateIamRolesRequest +func (mr *MockEC2APIMockRecorder) GetAssociatedEnclaveCertificateIamRolesRequest(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAssociatedEnclaveCertificateIamRolesRequest", reflect.TypeOf((*MockEC2API)(nil).GetAssociatedEnclaveCertificateIamRolesRequest), arg0) +} + +// GetAssociatedEnclaveCertificateIamRolesWithContext mocks base method +func (m *MockEC2API) GetAssociatedEnclaveCertificateIamRolesWithContext(arg0 context.Context, arg1 *ec2.GetAssociatedEnclaveCertificateIamRolesInput, arg2 ...request.Option) (*ec2.GetAssociatedEnclaveCertificateIamRolesOutput, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetAssociatedEnclaveCertificateIamRolesWithContext", varargs...) + ret0, _ := ret[0].(*ec2.GetAssociatedEnclaveCertificateIamRolesOutput) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAssociatedEnclaveCertificateIamRolesWithContext indicates an expected call of GetAssociatedEnclaveCertificateIamRolesWithContext +func (mr *MockEC2APIMockRecorder) GetAssociatedEnclaveCertificateIamRolesWithContext(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAssociatedEnclaveCertificateIamRolesWithContext", reflect.TypeOf((*MockEC2API)(nil).GetAssociatedEnclaveCertificateIamRolesWithContext), varargs...) +} + // GetAssociatedIpv6PoolCidrs mocks base method func (m *MockEC2API) GetAssociatedIpv6PoolCidrs(arg0 *ec2.GetAssociatedIpv6PoolCidrsInput) (*ec2.GetAssociatedIpv6PoolCidrsOutput, error) { m.ctrl.T.Helper() diff --git a/go.mod b/go.mod index 76ff85153..629910ccc 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/terraform-linters/tflint go 1.15 require ( - github.com/aws/aws-sdk-go v1.35.14 + github.com/aws/aws-sdk-go v1.35.19 github.com/fatih/color v1.10.0 github.com/golang/mock v1.4.4 github.com/google/go-cmp v0.5.2 diff --git a/go.sum b/go.sum index c102c1fa3..38ba67744 100644 --- a/go.sum +++ b/go.sum @@ -113,8 +113,8 @@ github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3A github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.35.2/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= -github.com/aws/aws-sdk-go v1.35.14 h1:nucVVXXjAr9UkmYCBWxQWRuYa5KOlaXjuJGg2ulW0K0= -github.com/aws/aws-sdk-go v1.35.14/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= +github.com/aws/aws-sdk-go v1.35.19 h1:vdIqQnOIqTNtvnOdt9r3Bf/FiCJ7KV/7O2BIj4TPx2w= +github.com/aws/aws-sdk-go v1.35.19/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= diff --git a/rules/awsrules/models/aws-sdk-go b/rules/awsrules/models/aws-sdk-go index fd8b59fee..e7eb765a4 160000 --- a/rules/awsrules/models/aws-sdk-go +++ b/rules/awsrules/models/aws-sdk-go @@ -1 +1 @@ -Subproject commit fd8b59fee37e9e01c0ee57ec657029c18bfff463 +Subproject commit e7eb765a43f994d96621f10749d7fe9fafa331b3 diff --git a/rules/awsrules/models/aws_appautoscaling_policy_invalid_scalable_dimension.go b/rules/awsrules/models/aws_appautoscaling_policy_invalid_scalable_dimension.go index 54ffb22a3..65c9d6196 100644 --- a/rules/awsrules/models/aws_appautoscaling_policy_invalid_scalable_dimension.go +++ b/rules/awsrules/models/aws_appautoscaling_policy_invalid_scalable_dimension.go @@ -35,11 +35,9 @@ func NewAwsAppautoscalingPolicyInvalidScalableDimensionRule() *AwsAppautoscaling "sagemaker:variant:DesiredInstanceCount", "custom-resource:ResourceType:Property", "comprehend:document-classifier-endpoint:DesiredInferenceUnits", - "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits", "lambda:function:ProvisionedConcurrency", "cassandra:table:ReadCapacityUnits", "cassandra:table:WriteCapacityUnits", - "kafka:broker-storage:VolumeSize", }, } } diff --git a/rules/awsrules/models/aws_appautoscaling_policy_invalid_service_namespace.go b/rules/awsrules/models/aws_appautoscaling_policy_invalid_service_namespace.go index 333f1ef7b..6adad14f3 100644 --- a/rules/awsrules/models/aws_appautoscaling_policy_invalid_service_namespace.go +++ b/rules/awsrules/models/aws_appautoscaling_policy_invalid_service_namespace.go @@ -34,7 +34,6 @@ func NewAwsAppautoscalingPolicyInvalidServiceNamespaceRule() *AwsAppautoscalingP "comprehend", "lambda", "cassandra", - "kafka", }, } } diff --git a/rules/awsrules/models/aws_appautoscaling_scheduled_action_invalid_scalable_dimension.go b/rules/awsrules/models/aws_appautoscaling_scheduled_action_invalid_scalable_dimension.go index 65fcb1585..7b228df44 100644 --- a/rules/awsrules/models/aws_appautoscaling_scheduled_action_invalid_scalable_dimension.go +++ b/rules/awsrules/models/aws_appautoscaling_scheduled_action_invalid_scalable_dimension.go @@ -35,11 +35,9 @@ func NewAwsAppautoscalingScheduledActionInvalidScalableDimensionRule() *AwsAppau "sagemaker:variant:DesiredInstanceCount", "custom-resource:ResourceType:Property", "comprehend:document-classifier-endpoint:DesiredInferenceUnits", - "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits", "lambda:function:ProvisionedConcurrency", "cassandra:table:ReadCapacityUnits", "cassandra:table:WriteCapacityUnits", - "kafka:broker-storage:VolumeSize", }, } } diff --git a/rules/awsrules/models/aws_appautoscaling_scheduled_action_invalid_service_namespace.go b/rules/awsrules/models/aws_appautoscaling_scheduled_action_invalid_service_namespace.go index fd8890759..41d8afff5 100644 --- a/rules/awsrules/models/aws_appautoscaling_scheduled_action_invalid_service_namespace.go +++ b/rules/awsrules/models/aws_appautoscaling_scheduled_action_invalid_service_namespace.go @@ -34,7 +34,6 @@ func NewAwsAppautoscalingScheduledActionInvalidServiceNamespaceRule() *AwsAppaut "comprehend", "lambda", "cassandra", - "kafka", }, } } diff --git a/rules/awsrules/models/aws_appautoscaling_target_invalid_scalable_dimension.go b/rules/awsrules/models/aws_appautoscaling_target_invalid_scalable_dimension.go index cc3a893f3..e8faef19e 100644 --- a/rules/awsrules/models/aws_appautoscaling_target_invalid_scalable_dimension.go +++ b/rules/awsrules/models/aws_appautoscaling_target_invalid_scalable_dimension.go @@ -35,11 +35,9 @@ func NewAwsAppautoscalingTargetInvalidScalableDimensionRule() *AwsAppautoscaling "sagemaker:variant:DesiredInstanceCount", "custom-resource:ResourceType:Property", "comprehend:document-classifier-endpoint:DesiredInferenceUnits", - "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits", "lambda:function:ProvisionedConcurrency", "cassandra:table:ReadCapacityUnits", "cassandra:table:WriteCapacityUnits", - "kafka:broker-storage:VolumeSize", }, } } diff --git a/rules/awsrules/models/aws_appautoscaling_target_invalid_service_namespace.go b/rules/awsrules/models/aws_appautoscaling_target_invalid_service_namespace.go index 7fe363903..bde04eff6 100644 --- a/rules/awsrules/models/aws_appautoscaling_target_invalid_service_namespace.go +++ b/rules/awsrules/models/aws_appautoscaling_target_invalid_service_namespace.go @@ -34,7 +34,6 @@ func NewAwsAppautoscalingTargetInvalidServiceNamespaceRule() *AwsAppautoscalingT "comprehend", "lambda", "cassandra", - "kafka", }, } } diff --git a/rules/awsrules/models/aws_datasync_location_s3_invalid_s3_bucket_arn.go b/rules/awsrules/models/aws_datasync_location_s3_invalid_s3_bucket_arn.go index 6c4281dc3..e9607362b 100644 --- a/rules/awsrules/models/aws_datasync_location_s3_invalid_s3_bucket_arn.go +++ b/rules/awsrules/models/aws_datasync_location_s3_invalid_s3_bucket_arn.go @@ -24,8 +24,8 @@ func NewAwsDatasyncLocationS3InvalidS3BucketArnRule() *AwsDatasyncLocationS3Inva return &AwsDatasyncLocationS3InvalidS3BucketArnRule{ resourceType: "aws_datasync_location_s3", attributeName: "s3_bucket_arn", - max: 156, - pattern: regexp.MustCompile(`^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\-0-9]*:[0-9]*:.*$`), + max: 76, + pattern: regexp.MustCompile(`^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:::([^/]*)$`), } } @@ -61,14 +61,14 @@ func (r *AwsDatasyncLocationS3InvalidS3BucketArnRule) Check(runner *tflint.Runne if len(val) > r.max { runner.EmitIssue( r, - "s3_bucket_arn must be 156 characters or less", + "s3_bucket_arn must be 76 characters or less", attribute.Expr.Range(), ) } if !r.pattern.MatchString(val) { runner.EmitIssue( r, - fmt.Sprintf(`"%s" does not match valid pattern %s`, truncateLongMessage(val), `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\-0-9]*:[0-9]*:.*$`), + fmt.Sprintf(`"%s" does not match valid pattern %s`, truncateLongMessage(val), `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:::([^/]*)$`), attribute.Expr.Range(), ) } diff --git a/rules/awsrules/models/aws_datasync_location_s3_invalid_s3_bucket_arn_test.go b/rules/awsrules/models/aws_datasync_location_s3_invalid_s3_bucket_arn_test.go index 0797d4f95..90701bb3c 100644 --- a/rules/awsrules/models/aws_datasync_location_s3_invalid_s3_bucket_arn_test.go +++ b/rules/awsrules/models/aws_datasync_location_s3_invalid_s3_bucket_arn_test.go @@ -23,7 +23,7 @@ resource "aws_datasync_location_s3" "foo" { Expected: tflint.Issues{ { Rule: NewAwsDatasyncLocationS3InvalidS3BucketArnRule(), - Message: `"arn:aws:eks:us-east-1:123456789012:cluster/my-cluster" does not match valid pattern ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\-0-9]*:[0-9]*:.*$`, + Message: `"arn:aws:eks:us-east-1:123456789012:cluster/my-cluster" does not match valid pattern ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:::([^/]*)$`, }, }, }, diff --git a/rules/awsrules/models/aws_s3_bucket_object_invalid_storage_class.go b/rules/awsrules/models/aws_s3_bucket_object_invalid_storage_class.go index 18cc43759..7720d4cfe 100644 --- a/rules/awsrules/models/aws_s3_bucket_object_invalid_storage_class.go +++ b/rules/awsrules/models/aws_s3_bucket_object_invalid_storage_class.go @@ -30,7 +30,6 @@ func NewAwsS3BucketObjectInvalidStorageClassRule() *AwsS3BucketObjectInvalidStor "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", - "OUTPOSTS", }, } }