Skip to content

Commit ab12fd0

Browse files
committed
chore: Move schema source/generation out of samtranslator package
1 parent ebf14f4 commit ab12fd0

29 files changed

+347
-347
lines changed

Makefile

+5-5
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ black:
2626
black-check:
2727
# Checking latest schema was generated (run `make schema` if this fails)
2828
mkdir -p .tmp
29-
python samtranslator/schema/schema.py --sam-schema .tmp/sam.schema.json --cfn-schema samtranslator/schema/cloudformation.schema.json --unified-schema .tmp/schema.json
29+
python -m schema_source.schema --sam-schema .tmp/sam.schema.json --cfn-schema schema_source/cloudformation.schema.json --unified-schema .tmp/schema.json
3030
diff -u samtranslator/schema/sam.schema.json .tmp/sam.schema.json
3131
diff -u samtranslator/schema/schema.json .tmp/schema.json
3232
black --check setup.py samtranslator/* tests/* integration/* bin/*.py
@@ -51,21 +51,21 @@ update-schema-data:
5151
# Update and parse SAM docs
5252
rm -rf .tmp/aws-sam-developer-guide
5353
git clone --depth 1 https://github.com/awsdocs/aws-sam-developer-guide.git .tmp/aws-sam-developer-guide
54-
bin/parse_docs.py .tmp/aws-sam-developer-guide/doc_source > samtranslator/schema/docs.json
54+
bin/parse_docs.py .tmp/aws-sam-developer-guide/doc_source > schema_source/docs.json
5555

5656
# Update and parse CloudFormation docs
5757
rm -rf .tmp/aws-cloudformation-user-guide
5858
git clone --depth 1 [email protected]:awsdocs/aws-cloudformation-user-guide.git .tmp/aws-cloudformation-user-guide
59-
bin/parse_docs.py --cfn .tmp/aws-cloudformation-user-guide/doc_source > samtranslator/schema/cloudformation-docs.json
59+
bin/parse_docs.py --cfn .tmp/aws-cloudformation-user-guide/doc_source > schema_source/cloudformation-docs.json
6060

6161
# Update CloudFormation schema
6262
curl -o .tmp/cloudformation.schema.json https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json
6363

6464
# Add CloudFormation docs to CloudFormation schema
65-
python bin/add_docs_cfn_schema.py --schema .tmp/cloudformation.schema.json --docs samtranslator/schema/cloudformation-docs.json > samtranslator/schema/cloudformation.schema.json
65+
python bin/add_docs_cfn_schema.py --schema .tmp/cloudformation.schema.json --docs schema_source/cloudformation-docs.json > schema_source/cloudformation.schema.json
6666

6767
schema:
68-
python samtranslator/schema/schema.py --sam-schema samtranslator/schema/sam.schema.json --cfn-schema samtranslator/schema/cloudformation.schema.json --unified-schema samtranslator/schema/schema.json
68+
python -m schema_source.schema --sam-schema samtranslator/schema/sam.schema.json --cfn-schema schema_source/cloudformation.schema.json --unified-schema samtranslator/schema/schema.json
6969

7070
# Command to run everytime you make changes to verify everything works
7171
dev: test

requirements/base.txt

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
boto3>=1.19.5,==1.*
22
jsonschema<5,>=3.2 # TODO: evaluate risk of removing jsonschema 3.x support
3-
pydantic~=1.8
43
typing_extensions~=4.4.0 # 3.7 doesn't have Literal

requirements/dev.txt

+3
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,6 @@ mypy==0.971
3535
boto3-stubs[appconfig,serverlessrepo]>=1.19.5,==1.*
3636
types-PyYAML~=5.4
3737
types-jsonschema~=3.2
38+
39+
# schema generation, requiring features in >=1.10
40+
pydantic~=1.10

samtranslator/model/api/api_generator.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
InvalidTemplateException,
2525
)
2626
from samtranslator.model.s3_utils.uri_parser import parse_s3_uri
27+
from samtranslator.model.types import PassThrough
2728
from samtranslator.region_configuration import RegionConfiguration
28-
from samtranslator.schema.common import PassThrough
2929
from samtranslator.swagger.swagger import SwaggerEditor
3030
from samtranslator.model.intrinsics import is_intrinsic, fnSub
3131
from samtranslator.model.lambda_ import LambdaPermission

samtranslator/model/apigateway.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
from samtranslator.model import PropertyType, Resource
66
from samtranslator.model.exceptions import InvalidResourceException
77
from samtranslator.model.intrinsics import fnSub, ref
8-
from samtranslator.model.types import IS_DICT, IS_STR, is_type, list_of, one_of
9-
from samtranslator.schema.common import PassThrough
8+
from samtranslator.model.types import IS_DICT, IS_STR, is_type, list_of, one_of, PassThrough
109
from samtranslator.translator import logical_id_generator
1110
from samtranslator.translator.arn_generator import ArnGenerator
1211
from samtranslator.utils.py27hash_fix import Py27Dict, Py27UniStr

samtranslator/model/apigatewayv2.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
from typing import Any, Dict, List, Optional, Union
22

33
from samtranslator.model import PropertyType, Resource
4-
from samtranslator.model.types import IS_DICT, is_type, one_of, IS_STR, list_of
4+
from samtranslator.model.types import IS_DICT, is_type, one_of, IS_STR, list_of, PassThrough
55
from samtranslator.model.intrinsics import ref, fnSub
66
from samtranslator.model.exceptions import ExpectedType, InvalidResourceException
7-
from samtranslator.schema.common import PassThrough
87
from samtranslator.translator.arn_generator import ArnGenerator
98
from samtranslator.utils.types import Intrinsicable
109
from samtranslator.validator.value_validator import sam_expect

samtranslator/model/eventsources/pull.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
from samtranslator.metrics.method_decorator import cw_timer
55
from samtranslator.model import ResourceMacro, PropertyType, PassThroughProperty
66
from samtranslator.model.eventsources import FUNCTION_EVETSOURCE_METRIC_PREFIX
7-
from samtranslator.model.types import IS_DICT, is_type, IS_STR
8-
from samtranslator.schema.common import PassThrough
7+
from samtranslator.model.types import IS_DICT, is_type, IS_STR, PassThrough
98
from samtranslator.model.intrinsics import is_intrinsic
109

1110
from samtranslator.model.lambda_ import LambdaEventSourceMapping

samtranslator/model/eventsources/push.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from samtranslator.model.eventbridge_utils import EventBridgeRuleUtils
2121
from samtranslator.model.iot import IotTopicRule
2222
from samtranslator.model.cognito import CognitoUserPool
23-
from samtranslator.schema.common import PassThrough
23+
from samtranslator.model.types import PassThrough
2424
from samtranslator.translator import logical_id_generator
2525
from samtranslator.translator.arn_generator import ArnGenerator
2626
from samtranslator.model.exceptions import InvalidEventException, InvalidResourceException, InvalidDocumentException

samtranslator/model/sam_resources.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
LambdaUrl,
6363
LambdaPermission,
6464
)
65-
from samtranslator.model.types import dict_of, IS_STR, is_type, IS_DICT, list_of, one_of, any_type
65+
from samtranslator.model.types import dict_of, IS_STR, is_type, IS_DICT, list_of, one_of, any_type, PassThrough
6666
from samtranslator.translator import logical_id_generator
6767
from samtranslator.translator.arn_generator import ArnGenerator
6868
from samtranslator.model.intrinsics import (
@@ -80,7 +80,6 @@
8080
from samtranslator.model.role_utils import construct_role_for_resource
8181
from samtranslator.model.xray_utils import get_xray_managed_policy_name
8282
from samtranslator.utils.types import Intrinsicable
83-
from samtranslator.schema.common import PassThrough
8483
from samtranslator.validator.value_validator import sam_expect
8584

8685

samtranslator/model/stepfunctions/events.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@
66
from samtranslator.model import Property, PropertyType, ResourceMacro, Resource
77
from samtranslator.model.events import EventsRule
88
from samtranslator.model.iam import IAMRole, IAMRolePolicies
9-
from samtranslator.model.types import IS_DICT, IS_STR, is_type
9+
from samtranslator.model.types import IS_DICT, IS_STR, is_type, PassThrough
1010
from samtranslator.model.intrinsics import fnSub
11-
from samtranslator.schema.common import PassThrough
1211
from samtranslator.translator import logical_id_generator
1312
from samtranslator.model.exceptions import InvalidEventException
1413
from samtranslator.model.eventbridge_utils import EventBridgeRuleUtils

samtranslator/model/types.py

+4
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,7 @@ def is_str() -> Validator:
147147
https://github.com/aws/aws-sam-cli/commit/d18f57c5f39273a04fb582f90e6c5817a4651912
148148
"""
149149
return IS_STR
150+
151+
152+
# Value passed directly to CloudFormation; not used by SAM
153+
PassThrough = Any # TODO: Make it behave like typescript's unknown

0 commit comments

Comments
 (0)