         self.useTLS = true
     }
     
+    /// encodes the name (see RegionName, does not support custom hosts)
     public func encode(to encoder: Encoder) throws {
         var container = encoder.singleValueContainer()
         try container.encode(self.name.rawValue)

        case saEast1 = "sa-east-1"
    }

    public init(name: RegionName, hostName: String? = nil, useTLS: Bool = true) {
        self.name = name
        self.hostName = hostName

/// AWS Region
public struct Region {
    
    /// name of the region, see RegionName
    public let name: RegionName

    /// name of the custom host, can contain IP and/or port (e.g. 127.0.0.1:9000)
    public let hostName: String?

    /// use TLS/https (defaults to true)
    public let useTLS: Bool
    
    public enum RegionName : String, Codable {
