Giter VIP home page Giter VIP logo

aws-sdk-elm's People

Contributors

ktonon avatar ngmiller avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

aws-sdk-elm's Issues

Handle recursive types

Currently the type resolver will overflow the call stack if trying to resolve a recursive type such as the dynamodb type AttributeValue

Blob types

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

Better way to specify request parameters

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

Handle pre-signing for S3 (and others)

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

Implement json protocol

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

Case ambiguity with json response body

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

Decoder for general form of Dict

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)

Operations are missing parameters

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

Handle map types

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

Implement rest-json protocol

apigateway, batch, clouddirectory, cloudsearchdomain, cognito-sync, elasticfilesystem, elastictranscoder, es, glacier, iot, iot-data, lambda, mobileanalytics, polly, xray

More testing of query protocol

autoscaling, cloudformation, cloudsearch, elasticache, elasticbeanstalk, elasticloadbalancing, elasticloadbalancingv2, email, iam, importexport, monitoring, rds, redshift, sdb, sns, sqs, sts

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.