Skip to content
This repository was archived by the owner on Apr 20, 2024. It is now read-only.

ml-archive/aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5ce8efa Β· Mar 16, 2018

History

97 Commits
Dec 28, 2017
Mar 16, 2018
Oct 3, 2017
Dec 28, 2017
Jun 29, 2017
Mar 21, 2017
Dec 28, 2017
Dec 28, 2017
Aug 12, 2017
Aug 12, 2017
Dec 28, 2017

Repository files navigation

AWS

Swift Version Vapor Version Circle CI codebeat badge codecov Readme Score GitHub license

This package makes it easy to use AWS resources from Swift.

πŸ“¦ Installation

Update your Package.swift file.

.Package(url: "https://github.com/nodes-vapor/aws.git", majorVersion: 1)

Getting started πŸš€

Currently the following AWS Services are available:

  • EC2
  • S3

If you need other resources you can use Raw call, to call the AWS API directly.

EC2

Describe instances

do {
    let instances = try EC2(
        accessKey: "my-key", 
        secretKey: "my-secret", 
        region: "my-region"
    ).describeInstances()
} catch {

}

S3

Upload a file to S3

do {
    try S3(
        accessKey: "my-key", 
        secretKey: "my-secret", 
        region: "my-region", 
        bucket: "my-s3-bucket"
    ).uploadFile("/path/to/local/file", "/folder/in/s3/bucket")
} catch {

}

Raw call

If you need a resource not made in one of the functions, you can use the system to call the AWS API directly.

Describe instances example

do {
    return try CallAWS().call(
        method: "GET", 
        service: "ec2", 
        host: "ec2.amazonaws.com", 
        region: "my-region", 
        baseURL: "https://ec2.amazonaws.com", 
        key: "my-key", 
        secret: "my-secret", 
        requestParam: "Action=DescribeInstances"
    )
} catch {

}

πŸ“ƒ Development

If you want to improve this, you'll need to make sure you're making a copy of OpenSSL available to swift build and the toolchain. If you use Xcode, something like the following after brew install openssl will work:

swift package -Xswiftc -I/usr/local/Cellar/openssl/1.0.2j/include -Xlinker -L/usr/local/Cellar/openssl/1.0.2j/lib/ generate-xcodeproj

πŸ† Credits

This package is developed and maintained by the Vapor team at Nodes. The package owner for this project is Brett.

πŸ“„ License

This package is open-sourced software licensed under the MIT license