This package is to provide an intelligent code completion (IntelliSense) experience for users when writing an Amazon ECS task definition in their Visual Studio Code or JetBrains IDEs. It does so by parsing the Amazon ECS model files from the AWS SDK for Go. With these files, the package generates a JSON schema file that provides code completion, documentation lookup, and error checking. Instructions to build and enable IntelliSense are down below.
Here is a VSCode setup integration example:
- Configure your IDE settings by going to
Code
→Preferences
→Settings
- In the search bar, type in settings.json
- Click on Edit in settings.json
- Check to see if
json.schemas
is already added- If you see
json.schemas
, then just append this code to thejson.schemas
array{ "fileMatch": [ "*ecs-task-def.json" ], "url": "https://ecs-intellisense.s3-us-west-2.amazonaws.com/task-definition/schema.json" }
- Otherwise, create it:
"json.schemas": [{ "fileMatch": [ "*ecs-task-def.json" ], "url": "https://ecs-intellisense.s3-us-west-2.amazonaws.com/task-definition/schema.json" }]
- If you see
- Go to
File
→Preferences
→Languages & Frameworks
→Schemas and DTDs
→JSON Schema Mappings
- Select the
+
sign at the top to add new mapping - Enter this URL inside
Schema file or URL
: https://ecs-intellisense.s3-us-west-2.amazonaws.com/task-definition/schema.json - Select
JSON schema version 7
forSchema version
- Add file matching by selecting the
+
button at the bottom
- Select
Add File Path Pattern
- For file path pattern type in
*ecs-task-def.json
- Install dependencies with
pip install -r requirements.txt
- To update
api.json
anddocs.json
for a specific Go SDK version Run./update.sh SCHEMA_VERSION GO_SDK_VERSION
- Update the
schema_version
andsdk_go_version
values insrc/version.py
file accordingly. - Run
python3 src/main.py
NOTE: If you run intoModuleNotFoundError: No module named 'src'
. Then, runexport PYTHONPATH="${PYTHONPATH}:/path/to/src/"
- The schema should be generated under
./src/model/schema/
This library is licensed under the Apache 2.0 License.