Skip to content

Commit 5eb8e45

Browse files
authored
Create a schema manager for non resource schemas (#4131)
* Create a schema manager for non resource schemas
1 parent ceb30ae commit 5eb8e45

30 files changed

Lines changed: 579 additions & 228 deletions

src/cfnlint/rules/functions/Base64.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
SPDX-License-Identifier: MIT-0
44
"""
55

6-
import cfnlint.data.schemas.other.functions
76
from cfnlint.helpers import FUNCTIONS_SINGLE
8-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails
7+
from cfnlint.rules.functions._BaseFn import BaseFn
98

109

1110
class Base64(BaseFn):
@@ -22,8 +21,5 @@ def __init__(self) -> None:
2221
"Fn::Base64",
2322
("string",),
2423
tuple(FUNCTIONS_SINGLE),
25-
schema_details=SchemaDetails(
26-
cfnlint.data.schemas.other.functions, "base64.json"
27-
),
2824
)
2925
self.fn_base64 = self.validate

src/cfnlint/rules/functions/Cidr.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
from __future__ import annotations
77

8-
import cfnlint.data.schemas.other.functions
9-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails
8+
from cfnlint.rules.functions._BaseFn import BaseFn
109

1110

1211
class Cidr(BaseFn):
@@ -23,8 +22,5 @@ def __init__(self) -> None:
2322
"Fn::Cidr",
2423
("array",),
2524
None,
26-
schema_details=SchemaDetails(
27-
cfnlint.data.schemas.other.functions, "cidr.json"
28-
),
2925
)
3026
self.fn_cidr = self.validate

src/cfnlint/rules/functions/FindInMap.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
from __future__ import annotations
77

8-
import cfnlint.data.schemas.other.functions
9-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails, singular_types
8+
from cfnlint.rules.functions._BaseFn import BaseFn, singular_types
109

1110

1211
class FindInMap(BaseFn):
@@ -22,9 +21,6 @@ def __init__(self) -> None:
2221
super().__init__(
2322
"Fn::FindInMap",
2423
("array",) + singular_types,
25-
schema_details=SchemaDetails(
26-
cfnlint.data.schemas.other.functions, "findinmap.json"
27-
),
2824
resolved_rule="W1034",
2925
)
3026
self.fn_findinmap = self.validate

src/cfnlint/rules/functions/GetAtt.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@
1010

1111
import regex as re
1212

13-
import cfnlint.data.schemas.other.functions
1413
from cfnlint.helpers import ensure_list, is_types_compatible
1514
from cfnlint.jsonschema import ValidationError, ValidationResult, Validator
16-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails, all_types
15+
from cfnlint.rules.functions._BaseFn import BaseFn, all_types
1716
from cfnlint.schema import PROVIDER_SCHEMA_MANAGER
1817

1918

@@ -33,9 +32,6 @@ def __init__(self) -> None:
3332
super().__init__(
3433
"Fn::GetAtt",
3534
all_types,
36-
schema_details=SchemaDetails(
37-
cfnlint.data.schemas.other.functions, "getatt.json"
38-
),
3935
)
4036

4137
def _resolve_getatt(

src/cfnlint/rules/functions/If.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@
88
from collections import deque
99
from typing import Any
1010

11-
import cfnlint.data.schemas.other.functions
1211
from cfnlint.context.conditions.exceptions import Unsatisfiable
1312
from cfnlint.jsonschema import ValidationError, ValidationResult, Validator
14-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails, all_types
13+
from cfnlint.rules.functions._BaseFn import BaseFn, all_types
1514

1615

1716
class If(BaseFn):
@@ -27,9 +26,6 @@ def __init__(self) -> None:
2726
super().__init__(
2827
"Fn::If",
2928
all_types,
30-
schema_details=SchemaDetails(
31-
cfnlint.data.schemas.other.functions, "if.json"
32-
),
3329
)
3430
self.child_rules["W1028"] = None
3531

src/cfnlint/rules/functions/ImportValue.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55

66
from typing import Any, Iterator
77

8-
import cfnlint.data.schemas.other.functions
98
from cfnlint.jsonschema import ValidationError, Validator
10-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails, singular_types
9+
from cfnlint.rules.functions._BaseFn import BaseFn, singular_types
1110

1211

1312
class ImportValue(BaseFn):
@@ -23,9 +22,6 @@ def __init__(self) -> None:
2322
super().__init__(
2423
"Fn::ImportValue",
2524
singular_types,
26-
schema_details=SchemaDetails(
27-
cfnlint.data.schemas.other.functions, "importvalue.json"
28-
),
2925
)
3026
self.child_rules = {
3127
"W6001": None,

src/cfnlint/rules/functions/Join.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77

88
from typing import Any
99

10-
import cfnlint.data.schemas.other.functions
1110
from cfnlint.jsonschema import ValidationResult
1211
from cfnlint.jsonschema.protocols import Validator
13-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails
12+
from cfnlint.rules.functions._BaseFn import BaseFn
1413

1514

1615
class Join(BaseFn):
@@ -27,9 +26,6 @@ def __init__(self) -> None:
2726
"Fn::Join",
2827
("string",),
2928
resolved_rule="W1032",
30-
schema_details=SchemaDetails(
31-
cfnlint.data.schemas.other.functions, "join.json"
32-
),
3329
)
3430
self.child_rules.update(
3531
{

src/cfnlint/rules/functions/Length.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@
77

88
from typing import Any
99

10-
import cfnlint.data.schemas.other.functions
1110
from cfnlint.jsonschema import ValidationError, ValidationResult, Validator
12-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails
11+
from cfnlint.rules.functions._BaseFn import BaseFn
1312

1413

1514
class Length(BaseFn):
@@ -25,9 +24,6 @@ def __init__(self) -> None:
2524
super().__init__(
2625
"Fn::Length",
2726
("integer",),
28-
schema_details=SchemaDetails(
29-
cfnlint.data.schemas.other.functions, "length.json"
30-
),
3127
)
3228

3329
def fn_length(

src/cfnlint/rules/functions/Ref.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77

88
from typing import Any
99

10-
import cfnlint.data.schemas.other.functions
1110
from cfnlint.helpers import VALID_PARAMETER_TYPES, VALID_PARAMETER_TYPES_LIST
1211
from cfnlint.jsonschema import ValidationError, Validator
13-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails, all_types
12+
from cfnlint.rules.functions._BaseFn import BaseFn, all_types
1413

1514

1615
class Ref(BaseFn):
@@ -27,9 +26,6 @@ def __init__(self) -> None:
2726
"Ref",
2827
all_types,
2928
resolved_rule="W1030",
30-
schema_details=SchemaDetails(
31-
cfnlint.data.schemas.other.functions, "ref.json"
32-
),
3329
)
3430
self._all_refs = [
3531
"W2010",

src/cfnlint/rules/functions/Select.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
from __future__ import annotations
77

8-
import cfnlint.data.schemas.other.functions
9-
from cfnlint.rules.functions._BaseFn import BaseFn, SchemaDetails, all_types
8+
from cfnlint.rules.functions._BaseFn import BaseFn, all_types
109

1110

1211
class Select(BaseFn):
@@ -22,9 +21,6 @@ def __init__(self) -> None:
2221
super().__init__(
2322
"Fn::Select",
2423
all_types,
25-
schema_details=SchemaDetails(
26-
cfnlint.data.schemas.other.functions, "select.json"
27-
),
2824
resolved_rule="W1035",
2925
)
3026
self.fn_select = self.validate

0 commit comments

Comments
 (0)