diff --git a/src/rpdk/guard_rail/core/stateful.py b/src/rpdk/guard_rail/core/stateful.py index abc81a2..aaac655 100644 --- a/src/rpdk/guard_rail/core/stateful.py +++ b/src/rpdk/guard_rail/core/stateful.py @@ -108,6 +108,7 @@ def schema_diff( current_schema, ignore_order_func=lambda level: "primaryIdentifier" not in level.path(), verbose_level=2, + ignore_type_in_groups=DeepDiff.numbers, ) meta_diff = _translate_meta_diff(deep_diff.to_dict()) diff --git a/tests/integ/runner/test_integ_runner.py b/tests/integ/runner/test_integ_runner.py index b797e19..b94a375 100644 --- a/tests/integ/runner/test_integ_runner.py +++ b/tests/integ/runner/test_integ_runner.py @@ -653,6 +653,49 @@ def test_exec_compliance_stateless_not_taggable_with_tags( {}, [], ), + ( + { + "typeName": "AWS::Test:TypeName", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", + "required": ["infos"], + "properties": { + "infos": { + "type": "array", + "items": {"$ref": "#/definitions/info"}, + "insertionOrder": False, + } + }, + "definitions": { + "level": {"type": "number", "minimum": 1.0, "maximum": 5.0}, + "info": { + "type": "object", + "properties": {"Level": {"$ref": "#/definitions/level"}}, + }, + }, + }, + { + "typeName": "AWS::Test:TypeName", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", + "required": ["infos"], + "properties": { + "infos": { + "type": "array", + "items": {"$ref": "#/definitions/info"}, + "insertionOrder": False, + } + }, + "definitions": { + "level": {"type": "number", "minimum": 1, "maximum": 5}, + "info": { + "type": "object", + "properties": {"Level": {"$ref": "#/definitions/level"}}, + }, + }, + }, + [], + {}, + [], + ), ], ) def test_exec_compliance_stateful(