-
Notifications
You must be signed in to change notification settings - Fork 64
Auto-generate low/high level AWS wrappers #121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
# Returns | ||
- `latest_versions::Dict[]`: List of the latest AWS Service definitions | ||
""" | ||
function _filter_latest_service_version(services::Array) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like this could be done better, but I spent some time on it but wasn't able to use list comprehension for this and decided to make it more explicit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's pretty common to drop the type assertion and just expect the input is iterable
Some of the docstrings need to be updated, especially for the input/output types, I'll be re-working these. |
$(join(service_definitions, "\n")) | ||
end | ||
""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May be easier to read if you write this like this:
template = """
# This file is auto-generated by AWSMetadata.jl
module AWSServices
include("AWS.jl")
$(join(service_definitions, "\n"))
end
"""
# Returns | ||
- `latest_versions::Dict[]`: List of the latest AWS Service definitions | ||
""" | ||
function _filter_latest_service_version(services::Array) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's pretty common to drop the type assertion and just expect the input is iterable
a3c4699
to
169254e
Compare
- Removed dependency on DataStructures in favour of OrderedCollections - Moved `src/metadata.json` to `deps/metadata.json` - Added comment stating that files in `src/services/*` are auto-generated
169254e
to
d6166d1
Compare
fe3cd9f
to
d04d976
Compare
d04d976
to
f1292ae
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looking good. Did one more pass and found some minor things.
Overview
This merge request generates the low and high level wrappers for AWS Services in Julia, and is the initial MR for the new state of AWS in Julia. The design document for this can be found at, mattBrzezinski/JuliaCloud-AWS-State.
Note: This is targeting a feature branch
v1
where we will build up the new version before releasing it.Components
src/AWS.jl
:AWSCore.jl
currently)test/AWS.jl
for a use case)src/AWSMetadata.jl
:src/AWSMetadataUtilities.jl
:AWSMetadata.jl
src/AWSServices.jl
:services/*
:metadata.json
:.normal.json
filename, sha hash, and version for knowing when to update or create new wrappersHow to review this merge request
The best way to review this merge request would be to look at each commit individually. Skip commit 2af1ec824 as it is only auto-generated files.
Next steps towards a better AWS world
We need to port over AWSCredentials.jl, AWSConfig.jl, and begin to re-write the functions which make the requests themselves (along with utilities for them):