ktonon / aws-sdk-elm Goto Github PK
View Code? Open in Web Editor NEWDeprecated. Replaced by elm-aws-core and elm-aws-generate
License: Apache License 2.0
Deprecated. Replaced by elm-aws-core and elm-aws-generate
License: Apache License 2.0
Currently the type resolver will overflow the call stack if trying to resolve a recursive type such as the dynamodb
type AttributeValue
See resolve-types.js
, the resolve.blob
function. Currently it is set to the same as string
, but should map to some other elm type, either from core or otherwise.
We will need a decoder too
See the S3 module. For example, getObject
path is "/{Bucket}/{Key+}"
For example,
getObject : String -> String -> Date -> String -> Date -> String -> String -> String -> String -> String -> String -> String -> Date -> String -> String -> String -> String -> RequestPayer -> Int -> AWS.ServiceConfig -> AWS.Http.UnsignedRequest GetObjectOutput
getObject bucket ifMatch ifModifiedSince ifNoneMatch ifUnmodifiedSince key range responseCacheControl responseContentDisposition responseContentEncoding responseContentLanguage responseContentType responseExpires versionId sSECustomerAlgorithm sSECustomerKey sSECustomerKeyMD5 requestPayer partNumber serviceConfig =
but only bucket and key are required. key does not even appear as the second parameter. Need to think of a better way to handle this
Example SQS.elm
we attempt to use sqs.amazonaws.com
, but it should be queue.amazonaws.com
ec2
from slack convo:
Actually, maybe S3 is not a good example to test auth. I think there might be some differences in auth, I remember seeing some pre-signing stuff in the js v4 signer, which we do not implement. Maybe try searching for some other GET request that takes no arguments in another service. Or, we should just fix the query params/request body first
acm, application-autoscaling, appstream, budgets, cloudhsm, cloudtrail, cloudbuild, codecommit, codedeploy, codepipeline, cognito-identity, cognito-idp, config, cur, datapipeline, devicefarm, directconnect, discovery, dms, ds, dynamodb, ecr, ecs, elasticmapreduce, events, firehose, gamelift, health, inspector, kinesis, kinesisanalytics, kms, lightsail, logs, machinelearning, marketplacecommerceanalytics, meteringmarketplace, opsworks, opsworksscm, rekognition, route53domains, servicecatalog, shield, sms, snowball, ssm, states, storagegateway, streams.dynamodb, support, swf, waf, waf-regional, workspaces
importexport, sdb
See either of
The build-in Date library provides no way to get the timezone offset, and returns the hour adjusted to the timezone!?
Until this gets fixed, we'll have to use ZonedDateTime as our date type.
ListQueuesResult says it should be QueueUrls
but I get back a response like this:
{
"ListQueuesResponse": {
"ListQueuesResult": {
"queueUrls": [
"https://sqs.us-east-1.amazonaws.com/395767940723/elm-test-queue"
]
},
"ResponseMetadata": {
"RequestId": "bdb6b1ea-2cae-5765-8f17-e0ab6b6e8ba7"
}
}
}
The json decoder is case sensitive
devicefarm
contains:
"DevicePlatform":{
"type":"string",
"enum":[
"ANDROID",
"IOS"
]
},
and
"PurchasedDevicesMap":{
"type":"map",
"key":{"shape":"DevicePlatform"},
"value":{"shape":"Integer"}
},
which means we need a decoder for Dict a b
, but the built-in Json.Decode.dict
has signature dict : Decoder a -> Decoder (Dict String a)
Currently all operations have a return type, which is an Http.Request responseType
, but are missing the request parameters.
We should use the request types, which are input
to the operations to define the operation signature. Currently the request types are ignored
Example from apigateway-2015-07-09.normal.json
"MapOfStringToList":{
"type":"map",
"key":{"shape":"String"},
"value":{"shape":"ListOfString"}
},
should resolve to Dict String (List String)
with an equivalent decoder
apigateway, batch, clouddirectory, cloudsearchdomain, cognito-sync, elasticfilesystem, elastictranscoder, es, glacier, iot, iot-data, lambda, mobileanalytics, polly, xray
cloudfront, route53
autoscaling, cloudformation, cloudsearch, elasticache, elasticbeanstalk, elasticloadbalancing, elasticloadbalancingv2, email, iam, importexport, monitoring, rds, redshift, sdb, sns, sqs, sts
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.