Swiftpack.co - Package - swift-aws/aws-sdk-swift-core


A Core Framework for AWSSDKSwift

This is the underlying driver for executing requests to AWS, but you should likely use one of the libraries provided by the package above instead of this!

Swift NIO

This client utilizes Swift NIO to power its interactions with AWS. It returns an EventLoopFuture in order to allow non-blocking frameworks to use this code. Please see the Swift NIO documentation for more details, and please let us know via an Issue if you have questions!

Example Package.swift

// swift-tools-version:4.2
import PackageDescription

let package = Package(
    name: "MyAWSTool",
    dependencies: [
        .package(url: "https://github.com/swift-aws/aws-sdk-swift", from: "3.0.0"),
    targets: [
            name: "MyAWSTool",
            dependencies: ["CloudFront", "ELB", "ELBV2",  "IAM"]),
            name: "MyAWSToolTests",
            dependencies: ["MyAWSTool"]),


aws-sdk-swift-core is released under the MIT license. See LICENSE for details.


Stars: 48
Help us keep the lights on


3.1.1 - Jul 19, 2019

Adam Fowler: XML: If text is completely white space don't add a text node

3.1.0 - Jul 12, 2019

Adam Fowler: Use Codable for serializing XML requests and parsing XML responses Using query encoder for ec2 Added xmlNamespace to the root payload xml element when required Only add a body to an AWSRequest if there are shape members that are included in the body Store Timestamp internally as a Date Add DictionaryEncoder and use this when encoding JSON payloads Decode JSON dictionary data as base64 Add encoding hints for serializing arrays and dictionaries. Hints include naming of XML, query elements and whether container is flattened Percent encode more characters in query body Add code for ec2 to flatten all arrays, regardless of encoding hints Added regions ap-east-1, eu-west-3 and eu-north-1 Updated core XML loader

giginet: Avoid warning on Xcode

3.0.1 - May 19, 2019

  • return Future instead of Void so clients can chain off the response and catch errors
  • normalize status code valdiation validate status code on methods with no response

3.0.0 - May 17, 2019

Adam Fowler: Fixed Incorrect stringToSign created for API calls that include query parameters without assignation. Fixed it by ensuring we never send nil parameters to V4 Signer. Added test for signing AWSRequest Fix = sign being percent encoded twice

Joe Smith: Utilize the officially sanctioned docker image to handle tests (#59) Quiet the xcodebuild logs and run in parallel (#64)

Jonathan McAllister: refactor send to return Futures add typalias Future as shorthand for EventLoopFuture ensure url.hostWithPort is not nil update nio to 1.14 fix warning for redundant modifiers refactor getCredential to return a future and move it back to the client class fix HEAD requests throw InvalidRequest Error instead of fatalError if uri is invalid add token to signedURL if the credential has one log resonse http status code for Unhandled errors do not populate a body for restxml requests that do not have a payloadPath. Input is headers only if there is no payloadPath on restxml APIs HEAD request is just a GET request with the HEAD method - remove content-type for head request - use signed url for HEAD requests

noppoman: resurrect user specific endpoint request add default value for endpoint add test for custom endpoint signing

2.0.0-rc.5 - Feb 14, 2019

  • properly serialize the payloadPath object as json / xml if the shape has a payload path and it defines a shape (Glacier, etc)