Client library containing request and response logic to communicate with Amazon Web Service compatible APIs. Intended to be used alongside the types supplied by the various amazonka-* service libraries.

Migrating from 1.6.1 to 2.0 is extremely thorough, but these notes should get you started:

  • Modules have been moved from Network.AWS.* to Amazonka.*. Perform a find/replace on your import statements, e.g.:

    perl -pi -e 's/Network\.AWS/Amazonka/g' `find . -type f -name '*.hs'`
  • The AWST transformer from Control.Monad.Trans.AWS has been removed. Functions such as send now take an Env as their first argument. You can provide an Env directly, or use whatever transformer or effect system you prefer.

  • The Credentials data type no longer exists. Credential discovery methods are now represented as functions of type EnvNoAuth -> m Env, and common ones are exported from Amazonka.Auth. In most cases you can downcase the first character of a former Credentials constructor and it will do the right thing:

    -- 1.6.1
    env <- newEnv Discover
    -- 2.0
    env <- newEnv discover

    A full list of new credential providers and their 1.6.1 equivalents, if any, are listed under the “Major Changes” heading of the 2.0 RC 2 section of

  • On Windows, the {credential,config} files are read from %USERPROFILE%\.aws\{credentials,config} to match the AWS SDK.

  • Many Amazonka functions now require Typeable instances on request/response types. If you write code which is polymorphic across requests and responses, you may need to add Typeable a and Typeable (AWSResponse a) constraints alongside each AWSRequest a constraint.

  • Request/response data types have been simplified:

    • Data type smart constructors are prefixed with new. Example: Network.AWS.S3.getObject -> Amazonka.S3.newGetObject.

    • All generated types export their constructors, which are always the “primed” name of the base type. Example: data GetObject = GetObject' { ... }.

    • Records also export all their fields, which no longer have any prefix.

    • The recommended way to fill in additional record fields is to use a library such as generic-lens or optics, possibly with the OverloadedLabels extension:

      -- 1.6.1
      import Network.AWS.S3
      let req = getObject "my-bucket" "/foo/bar.txt" & goVersionId ?~ "some-version"
      -- 2.0
      {-# LANGUAGE OverloadedLabels #-}
      import Amazonka.S3
      import Control.Lens ((?~))
      import Data.Generics.Labels ()
      let req = newGetObject "my-bucket" "/foo/bar.txt" & #versionId ?~ "some-version"
    • Generated lenses are still available, but no longer use heuristic abbreviations. Example: Network.AWS.S3.goVersionId is now Amazonka.S3.Lens.getObject_versionId

    • Enums (sum types) are now newtype wrappers over Text. “Constructors” for these enums are provided as “bundled” pattern synonyms, but other values are permitted. This is especially useful for new EC2 instance types or new AWS region names. As with generated lens names, the type name is baked into the pattern synonym. Example: InstanceType_R4_8xlarge.

  • All hand-written records in amazonka-core and amazonka now follow the conventions set by generated records: no leading underscores and no inconsistent prefixing of fields. As part of this, some functions were renamed or removed:

    • Amazonka.Env.configure -> Amazonka.Env.configureService (and its re-export from Amazonka)
    • Amazonka.Env.override -> Amazonka.Env.overrideService (and its re-export from Amazonka)
    • Amazonka.Env.timeout -> Amazonka.Env.globalTimeout (and its re-export from Amazonka)
    • Amazonka.Env.within: removed; with AWST gone, it is just a record update

    The removal of AWST means that Network.AWS.Env functions which used to operate on an Env inside a MonadReader now operate on the Env directly.

  • Serialisation classes like ToText and ToByteString, and their associated helper functions, are no longer directly exported from module Amazonka. If you need these, you may need to import Amazonka.Data directly.

  • The interface to the EC2 Instance Metadata Service (IMDS) is no longer exported from the root Amazonka module. If you used this, you should should import Amazonka.EC2.Metadata directly.

    • The functions Amazonka.dynamic, Amazonka.metadata and Amazonka.userdata have been removed in favour of their equivalents in Amazonka.EC2.Metadata which only require a HTTP Manager, not an entire Env.
    • If you were using them, read the manager :: Manager field directly from your Env.


For any problems, comments, or feedback please create an issue here on GitHub.


amazonka is released under the Mozilla Public License Version 2.0.


Change Log


Released: 28 July 2023, Compare: 2.0.0-rc2


  • amazonka: Update two missing EC2 metadata keys from instance metadata categories #935
  • amazonka: Stop re-exporting a subset of EC2 metadata keys from the root Amazonka module. #940
    • Metadata users should import Amazonka.EC2.Metadata directly.
    • The functions Amazonka.dynamic, Amazonka.metadata and Amazonka.userdata have been removed in favour of their equivalents in Amazonka.EC2.Metadata which only require a HTTP Manager, not an entire Env.
    • It is easy to share a single Manager between metadata requests and an Amazonka Env:
      • If you create the Env first, you can read its manager :: Manager field.
      • If you make metadata requests before calling newEnv, you must create a Manager youself. You can pass this Manager to newEnvFromManager.


  • aeson ^>= 2.2 is now supported. #938

2.0.0 RC2

Released: 10th July, 2023, Compare: 2.0.0-rc1

Major Changes

  • A system of “hooks” was added in PR #875, allowing library clients to inject custom behavior at key points in the request/response cycle. Logging has been reimplemented in terms of these hooks, but they open up a lot of other customization options. Some examples of things that should now be possible:

    • Injecting a Trace ID for AWS X-Ray into each request before it is signed and sent,
    • Selectively silencing logging for expected error messages, such as DynamoDB’s ConditionalCheckFailedException, and
    • Logging all requests Amazonka makes to a separate log, enabling audit of which IAM actions an program actually needs.

    The hooks API is currently experimental, and may change in a later version. Full details and examples are in the Amazonka.Env.Hooks module.

  • The authentication code in amazonka got a full rewrite in PR #746.

    • On Windows, the {credential,config} files are read from %USERPROFILE%\.aws\{credentials,config} to match the AWS SDK.

    • newEnv now takes a function of type EnvNoAuth -> m Env, which is to fetch credentials in an appropriate manner

    • The Credentials type has been removed, you should instead use the following functions corresponding to the departed constructor. All are exported by Amazonka.Auth:

      Old Name New Name Args/Comment
      FromKeys fromKeys AccessKey, SecretKey.
      FromSession fromSession AccessKey, SecretKey, SessionToken.
      fromTemporarySession AccessKey, SecretKey, SessionToken, UTCTime (expiry time). Likely not useful.
      fromKeysEnv None - reads AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and optionally AWS_SESSION_TOKEN.
      FromEnv Removed - look up named environment variables for access key id/secret access key/session token/expiry time.
      FromProfile fromNamedInstanceProfile Text - looks up a named instance profile from the Instance Meta-Data Service (IMDS).
      fromDefaultInstanceProfile None - selects the first instance profile, like the discover process does as one of its steps.
      FromFile fromFilePath Text (profile name), FilePath (credentials file), FilePath (config file). Significantly improved - now respects the role_arn setting in config files, alongside either source_profile, credential_source, or web_identity_token_file.
      fromFileEnv None - read config files from their default location, and respects the AWS_PROFILE environment variable.
      fromAssumedRole Text (role arn), Text (role session name). Assumes a role using sts:AssumeRole.
      fromSSO FilePath (cached token file), Region (SSO region), Text (account id), Text (role name). Assumes a role using sso:GetRoleCredentials and the cached JWT created by aws sso login.
      fromWebIdentity FilePath (web identity token file), Text (role arn), Maybe Text (role session name). Assumes a role using sts:AssumeRoleWithWebIdentity.
      FromWebIdentity fromWebIdentityEnv None - reads AWS_WEB_IDENTITY_TOKEN_FILE, AWS_ROLE_ARN, and AWS_ROLE_SESSION_NAME.
      fromContainer Text (absolute url to query the ECS Container Agent).
      FromContainer fromContainerEnv None - reads AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.
      Discover discover A rough mimic of the offical SDK, trying several methods in sequence.
    • The Amazonka.Auth.runCredentialChain function allows you to build your own custom credential chains.

  • Select parts of amazonka-core:Amazonka.Data are now re-exported from amazonka-core:Amazonka.Core (and by extension, amazonka:Amazonka), instead of the entire module. #851.

    • In particular, serialisation classes and helpers are no longer exported, and service bindings import Amazonka.Data directly.
    • Most library users should see little difference, but the ToText and ToByteString classes are no longer exported by default.
  • Records within the amazonka-core and amazonka libraries no longer have (inconsistent) leading underscores or prefixes #844. A few other functions were renamed/removed for consistency or to avoid name clashes:

    • Amazonka.Env.envAuthMaybe -> Amazonka.authMaybe (and its re-export from Amazonka)
    • Amazonka.Env.configure -> Amazonka.Env.configureService (and its re-export from Amazonka)
    • Amazonka.Env.override -> Amazonka.Env.overrideService (and its re-export from Amazonka)
    • Amazonka.Env.timeout -> Amazonka.Env.globalTimeout (and its re-export from Amazonka)
    • Amazonka.Env.within: removed; it was merely a record update
    • Amazonka.Body._Body: removed.

    As with record fields in generated bindings, you should use record updates, generic lenses/optics, or -XOverloadedRecordDot. However, if you prefer explicit lenses, prefixed lenses are available where the records are defined, and are colleced in the Amazonka.Core.Lens and Amazonka.Lens modules (Amazonka.Lens re-exports Amazonka.Core.Lens).

New libraries

  • amazonka-appconfigdata: The data plane APIs your application uses to retrieve configuration data. Overview
  • amazonka-amplifyuibuilder: A programmatic interface for creating and configuring user interface (UI) component libraries and themes for use in your Amplify applications. Overview
  • amazonka-arc-zonal-shift: Zonal shift is a function within the Amazon Route 53 Application Recovery Controller (Route 53 ARC). With zonal shifting, you can shift your load balancer resources away from an impaired Availability Zone with a single action. Overview
  • amazonka-backupgateway: Backup gateway is downloadable AWS Backup software that you deploy to your VMware infrastructure to connect your VMware VMs to AWS Backup.
  • amazonka-backupstorage
  • amazonka-billingconductor: The AWS Billing Conductor is a customizable billing service, allowing you to customize your billing data to match your desired business structure. Overview
  • amazonka-chime-sdk-media-pipelines: Create Amazon Chime SDK media pipelines and capture audio, video, events, and data messages from Amazon Chime SDK meetings. Overview
  • amazonka-chime-sdk-meetings: Create Amazon Chime SDK meetings, set the AWS Regions for meetings, create and manage users, and send and receive meeting notifications. Overview
  • amazonka-chime-sdk-voice: Add telephony capabilities to custom communication solutions, including SIP infrastructure and Amazon Chime SDK Voice Connectors. Overview
  • amazonka-connectcampaigns: Create high-volume outbound campaigns. For example, you may want to use this functionality for appointment reminders, telemarketing, subscription renewals, or debt collection. Overview
  • amazonka-connectcases: Track and manage customer issues that require multiple interactions, follow-up tasks, and teams in your contact center. Overview
  • amazonka-controltower: Apply the AWS library of pre-defined controls to your organizational units, programmatically. Overview
  • amazonka-docdb-elastic: Elastic Clusters enables you to elastically scale your document database to handle virtually any number of writes and reads, with petabytes of storage capacity. Overview
  • amazonka-drs: AWS Elastic Disaster Recovery (AWS DRS) minimizes downtime and data loss with fast, reliable recovery of on-premises and cloud-based applications using affordable storage, minimal compute, and point-in-time recovery. Overview
  • amazonka-emr-serverless: Amazon EMR Serverless is a serverless option in Amazon EMR that makes it easy for data analysts and engineers to run open-source big data analytics frameworks without configuring, managing, and scaling clusters or servers. Overview
  • amazonka-evidently: Amazon CloudWatch Evidently lets application developers conduct experiments and identify unintended consequences of new features before rolling them out for general use, thereby reducing risk related to new feature roll-out. Overview
  • amazonka-fsx: Launch, run, and scale feature-rich, high-performance file systems in the cloud. Overview
  • amazonka-gamesparks: Build game backends without worrying about server infrastructure. Overview
  • amazonka-inspector2: Amazon Inspector is an automated vulnerability management service that continually scans AWS workloads for software vulnerabilities and unintended network exposure. Overview
  • amazonka-iot-roborunner: Infrastructure for integrating robot systems from multiple vendors and building fleet management applications. Overview
  • amazonka-iottwinmaker: AWS IoT TwinMaker makes it easier for developers to create digital twins of real-world systems such as buildings, factories, industrial equipment, and production lines. Overview
  • amazonka-ivschat: Amazon IVS Chat is a scalable stream chat feature with a built-in moderation option designed to accompany live streaming video. Overview
  • amazonka-kendra: An intelligent search service powered by machine learning (ML) for your websites and applications. Overview
  • amazonka-keyspaces: Amazon Keyspaces (for Apache Cassandra) is a scalable, highly available, and managed Apache Cassandra–compatible database service. Overview
  • amazonka-kinesis-video-webrtc-storage: Overview
  • amazonka-lexv2-models: Amazon Lex V2 is an AWS service for building conversational interfaces for applications using voice and text. This is the model building API. Overview
  • amazonka-license-manager-linux-subscriptions: AWS License Manager provides you with the capability to view and manage commercial Linux subscriptions which you own and run on AWS. Overview
  • amazonka-license-manager-user-subscriptions: With License Manager, you can create user-based subscriptions to utilize licensed software with a per user subscription fee on Amazon EC2 instances. Overview
  • amazonka-m2: AWS Mainframe Modernization is a set of managed tools providing infrastructure and software for migrating, modernizing, and running mainframe applications. Overview
  • amazonka-migration-hub-refactor-spaces: AWS Migration Hub Refactor Spaces is the starting point for incremental application refactoring to microservices. Overview
  • amazonka-migrationhuborchestrator: AWS Migration Hub Orchestrator simplifies and automates the migration of servers and enterprise applications to AWS. It provides a single location to run and track your migrations. Overview
  • amazonka-migrationhubstrategy: Migration Hub Strategy Recommendations helps you plan migration and modernization initiatives by offering migration and modernization strategy recommendations for viable transformation paths for your applications. Overview
  • amazonka-oam: Create and manage links between source accounts and monitoring accounts by using CloudWatch cross-account observability. Overview
  • amazonka-omics: Helps healthcare and life science organizations store, query, and analyze genomic, transcriptomic, and other omics data and then generate insights from that data to improve health and advance scientific discoveries. Overview
  • amazonka-opensearchserverless: An on-demand auto scaling configuration for Amazon OpenSearch Service. Overview
  • amazonka-pinpoint-sms-voice-v2: Amazon Pinpoint is an AWS service that you can use to engage with your recipients across multiple messaging channels. The Amazon Pinpoint SMS and Voice, version 2 API provides programmatic access to options that are unique to the SMS and voice channels and supplements the resources provided by the Amazon Pinpoint API. Overview
  • amazonka-pipes: Amazon EventBridge Pipes helps you create point-to-point integrations between event producers and consumers with optional transform, filter and enrich steps. Overview
  • amazonka-privatenetworks: AWS Private 5G is a managed service that makes it easier to deploy, operate, and scale your own private mobile network, with all required hardware and software provided by AWS. Overview
  • amazonka-rbin: Recycle Bin is a data recovery feature that enables you to restore accidentally deleted Amazon EBS snapshots and EBS-backed AMIs. When using Recycle Bin, if your resources are deleted, they are retained in the Recycle Bin for a time period that you specify before being permanently deleted. Overview
  • amazonka-redshift-serverless: Amazon Redshift Serverless makes it easier to run and scale analytics without having to manage your data warehouse infrastructure. Overview
  • amazonka-resiliencehub: AWS Resilience Hub provides a central place to define, validate, and track the resilience of your applications on AWS. Overview
  • amazonka-resource-explorer-v2: Search for and discover relevant resources across AWS. Overview
  • amazonka-rolesanywhere: You can use AWS Identity and Access Management Roles Anywhere to obtain temporary security credentials in IAM for workloads such as servers, containers, and applications that run outside of AWS. Overview
  • amazonka-rum: With CloudWatch RUM (Real User Monitoring), you can perform real user monitoring to collect and view client-side data about your web application performance from actual user sessions in near real time. Overview
  • amazonka-sagemaker-geospatial: Build, train, and deploy ML models using geospatial data. Overview
  • amazonka-sagemaker-metrics: Overview
  • amazonka-scheduler: Amazon EventBridge Scheduler is a serverless scheduler that allows you to create, run, and manage tasks from one central, managed service. Overview
  • amazonka-securitylake: Amazon Security Lake automatically centralizes security data from cloud, on-premises, and custom sources into a purpose-built data lake stored in your account. Overview
  • amazonka-simspaceweaver: A managed service that lets you create expansive simulation worlds at increased levels of complexity and scale. Overview
  • amazonka-sms-voice: Looks like an alternate binding to the Pinpoint SMS and Voice API. Maybe stick with amazonka-pinpoint-sms-voice-v2? Overview
  • amazonka-ssm-sap: Actions and data types for AWS Systems Manager for SAP.
  • amazonka-support-app: You can use the AWS Support App to manage your AWS support cases in Slack. You can invite your team members to chat channels, respond to case updates, and chat directly with support agents. Overview
  • amazonka-timestream-query: Amazon Timestream is a fast, scalable, and serverless time series database service for IoT and operational applications. (Write API) Overview
  • amazonka-timestream-write: Amazon Timestream is a fast, scalable, and serverless time series database service for IoT and operational applications. (Write API) Overview
  • amazonka-wafv2: AWS WAF is a web application firewall that helps protect your web applications or APIs against common web exploits and bots that may affect availability, compromise security, or consume excessive resources (V2 API). Overview
  • amazonka-workspaces-web: Amazon WorkSpaces Web is a low-cost, fully managed workspace built specifically to facilitate secure access to internal websites and software-as-a-service (SaaS) applications from existing web browsers. Overview


  • amazonka-core: Use crypton instead of cryptonite to provide cryptographic primitives #920
  • amazonka-core/amazonka-redshift/amazonka-route53/amazonka-s3: Support Melbourne region (ap-southeast-4). #897
  • amazonka: Presigning functions do not require MonadIO. #885
  • gen / amazonka-*: Sort generated code so that outputs are stable across regenerations. #890
  • amazonka-core/amazonka: Various time-related data types and the _Time Iso' are re-exported by Amazonka.Core and therefore Amazonka. #884
  • amazonka-core: service error matchers are now AsError a => Fold a ServiceError instead of AsError a => Getting (First ServiceError) a ServiceError. This makes them more flexible (e.g., usable with Control.Lens.has), but existing uses should be unaffected. #878
  • amazonka-core: The Logger and LogLevel types and associated functions have been moved to Amazonka.Logger. #875
  • amazonka: The override :: Dual (Endo Service) has been replaced by overrides :: Service -> Service. #870
  • amazonka-core: Endpoint now has a basePath :: RawPath. Handy with amazonka-apigatewaymanagementapi. #869
  • amazonka-core: Parse more timezone names than just "GMT", per RFC822 #868
  • amazonka-ec2, amazonka-route53, amazonka-s3: Provide handwritten Iso's and Lens's for manually-written types, that match the new generator’s conventions #859
  • amazonka-redshift: Deprecate getAccountId as Redshift uses service-principal credentials to deliver logs to S3. Also provide getCloudTrailAccountId #858
  • amazonka-route53: Return Hosted Zone ID for S3 websites in all regions #858
  • amazonka-s3: Correctly return dotted S3 website hostnames in those regions #858
  • amazonka-core: Add regions: Hyderabad (ap-south-2), Jakarta (ap-southeast-3), Spain (eu-south-2), Zurich (eu-central-2), and UAE (me-central-1) #858
  • amazonka: Update EC2 metadata keys based on instance metadata categories #837
  • amazonka-dynamodb: Provide a sum type for WriteRequest #799
  • amazonka-sso: replace SessionTokenType with Core.SessionToken #792
  • amazonka-sso: Use amazonka-core types in GetRoleCredentials response #791
  • amazonka-sts: Mark Credentials as required in AssumeRole* responses #791
  • amazonka-sso: Mark RoleCredentials_{accessKeyId,secretAccessKey} as required #789
  • amazonka-core: urldecode query string parts when parsing to QueryString #780
  • amazonka-dynamodb, amazonka-dynamodb-streams: Fix deserialisation of booleans #775
  • amazonka: Add a public interface to send unsigned requests. Sending functions are now defined in Amazonka.Send, but are re-exported from Amazonka. #769
  • amazonka-sso: Mark GetRoleCredentialsResponse_roleCredentials as required #759
  • amazonka-dynamodb: Mark various fields as required #724
  • amazonka-dynamodb: Provide a sum type for AttributeValue #724
  • amazonka-dynamodb-streams: Provide a sum type for AttributeValue #724
  • amazonka: SSO authentication support (thanks @pbrisbin) #757
  • amazonka: Use IMDSv2 for metadata requests on EC2 (thanks @pbrisbin) #831


  • amazonka-core: Stop calling iso8601DateFormat and using * to mean Data.Kind.Type #885, #892
  • amazonka-s3: Properly format timestamps #881
  • gen: Take per-shape timestampFormat annotations into account. #882
  • amazonka-core: Only consider 2xx and 304 responses as successful #835
  • amazonka-core: Allow customisation of S3 addressing styles like Boto 3 can (thanks @basvandijk, @ivb-supercede) #832
  • amazonka-core: Correctly split error-codes-in-headers at the first colon #830
  • amazonka-core: Correctly double-url-encode request paths when computing V4 signatures #812
  • amazonka-core: Correctly compute body length for hashedFileRange #794
  • Generator: Correctly generate ToJSON instances for requests which set a "payload": field in "type": "structure" definitions. #790
    • Fixes some API calls in amazonka-glacier and amazonka-pinpoint
  • Background credential refresh now waits until five minutes before token expiry (or halfway to expiry if it expires sooner than that) to avoid the risk of expired credentials. #747
  • Presigning URLs that are not for S3 #767
  • amazonka-s3/amazonka-glacier: treat upload IDs are a mandatory part of the CreateMultipartUpload/InitiateMultipartUpload responses. #725
  • Hosted Zone IDs for S3 website endpoints are correct for all regions. #723
  • amazonka-ssm: Various fields that are always available are no longer Maybe’s. #741
  • amazonka-core: to be compatible with mtl-2.3, avoid Alternative (Either String) #779

2.0.0 RC1

Released: 28nd November, 2021, Compare: 1.6.1

Major Changes

  • Every service has been regenerated.

  • Enums (sum types) have been replaced with pattern synonyms. (Thanks @rossabaker)

    • This reduces GHC memory usage on some large packages (notably amazonka-ec2), as well as makes them more robust against new enum values in regions, responses, etc.
  • Naming

    • Record smart constructors (previously describeInstances, getObject, etc.) are now strictly prefixed with new, such as newDescribeInstances.
    • Record fields are no longer prefixed and are fully exported.
    • Generated lenses are no longer exported from the top-level Amazonka.<name> module - instead a Amazonka.<name>.Lens module is provided for backwards compatibility. These lenses may be deprecated in future.
    • Generated lenses no longer use mnemonic or heuristically assigned prefixes such as dirsrsInstances and instead strictly prefix using the type name describeInstances_instances - following the form <type>_<field>.
    • A library such as generic-lens or optics can be used with the type’s Generic instance for more succinct lenses that match the record field name or AWS documentation.
  • Exports

    • The amazonka package now re-exports modules from amazonka-core such as Amazonka.Data, Amazonka.Types.
    • All generated datatype constructors are fully exported. The datatype constructor is strictly prime suffixed, so for a given type data <type> = <type>'.
  • CI

    • Nix, Bazel, and GitHub Actions are used for CI.
    • CPP supporting GHC < 8.8 has been removed.
    • While GHC 8.6 is not in the CI matrix, it currently builds, so packages depend on base >= 4.12.
  • The AWST transformer from Control.Monad.Trans.AWS and its related instances has been removed. Functions such as send and paginate now universally take an Env as their first argument, so you can build your own transformer, or use your preferred effects system.

  • Namespace

    • The core Network.AWS namespace has been renamed to Amazonka, which now matches the package name. A simple search and replace on your codebase should be sufficient for migration:
perl -pi -e 's/Network\.AWS/Amazonka/g' `find . -type f -name '*.hs'`


  • aeson ^>= 1.5 and aeson ^>= 2.0 are now supported. #713
  • The Credentials type has a new FromWebIdentity constructor. Thank you to Mateusz Kowalczyk (@Fuuzetsu) and Oleg (@K0Te) for the initial implementation. #708
  • It is now possible to make unsigned requests. Useful for sts:AssumeRoleWithWebIdentity #708
  • Fix trailing slash bug in gen model #528
  • Close connections immediately (when we know that we can) #493
  • Remove the Content-Length header when doing V4 streaming signatures #547
  • Ensure that KerberosAttributes is parsed correctly from an empty response #512
  • Correct Stockholm in FromText Region #565
  • Fix MonadUnliftIO compiler errors on ghc-8.10.1 #572
  • Deduplicate CreateCertificateFromCSR fixtures #500
  • CloudFormation ListChangeSets and DescribeChangeSets are paginated #620
  • Use signingName, not endpointPrefix, when signing requests #622
  • Add x-amz-glacier-version to glacier headers (and extend generator to let operationPlugins support wildcards) #623
  • Add required fields for Glacier multipart uploade #624
  • If nonstandard ports are used, include them in signed host header #625
  • Duplicate files that differ only in case have been removed #637
  • S3 object sizes are now Integer instead of Int #649
  • Fix getting regions from named profiles #654
  • amazonka-rds now supports the DestinationRegion pseudo-parameter for cross-region requests #661
  • Fixed S3 envelope encryption #669
  • Fixed S3 to use vhost endpoints, parse LocationConstraints properly, and ensure Content-MD5 header correctly set. #673
  • Fixed S3 to not set empty Content-Encoding, and to be able to set Content-Encoding without breaking signing #681

Other Changes

  • Bump the upper bound in the dependency on http-client #526
  • Added new regions to ELB, RedShift, Route53. #541
  • Update service definitions for cloudwatch-events #544
  • Add MonadFail instance for AWST #551
  • Add an instance for PrimMonad m => PrimMonad (AWST' r m) #510
  • Set startedAt as optional in AWS batch #561
  • Add ignoredPaginators to service definition. #578
  • Adds paginators to AWS Secrets Manager API #576
  • Add intelligent tiering S3 type #570
  • AWS service descriptions appear in haddocks #619
  • Drop some MonadThrow and MonadCatch constraints #626
  • Use an in-tree script to generate services, instead of pulling the repo into the Nix store #639
  • Provide script to audit missing service configurations from boto #644

New libraries

  • amazonka-apigatewaymanagementapi: API for backends to interact with active WebSocket connections on a deployed API Gateway. Developer Guide
  • amazonka-eks: Amazon Elastic Kubernetes Service (Amazon EKS) is a managed container service to run and scale Kubernetes applications in the cloud or on-premises. Overview #618
  • amazonka-qldb: Fully managed ledger database that provides a transparent, immutable, and cryptographically verifiable transaction log. Owned by a central trusted authority. Overview #621
  • amazonka-sesv2: High-scale inbound and outbound cloud email service — V2 API. Overview #633
  • amazonka-textract: Easily extract printed text, handwriting, and data from any document. Overview
  • amazonka-accessanalyzer: Help identify potential resource-access risks by enabling you to identify any policies that grant access to an external principal. Overview
  • amazonka-account: API operations to modify an AWS account itself. Overview
  • amazonka-amp: A managed Prometheus-compatible monitoring and alerting service that makes it easy to monitor containerized applications and infrastructure at scale. Overview
  • amazonka-amplify: Purpose-built tools and services that make it quick and easy for front-end web and mobile developers build full-stack applications on AWS. Overview
  • amazonka-amplifybackend: Programmatic interface to the AWS Amplify Admin UI. Overview
  • amazonka-apigatewayv2: Version 2 of the API Gateway API, for HTTP and WebSocket APIs. Overview
  • amazonka-appconfig: A feature of AWS Systems Manager, to make it easy to quickly and safely configure, validate, and deploy application configurations. Overview
  • amazonka-appflow: Fully managed integration service that securely transfers data between Software-as-a-Service (SaaS) applications and AWS services. Overview
  • amazonka-appintegrations: Configure and connect external applications to Amazon Connect. Overview
  • amazonka-application-insights: Facilitates observability for applications and their underlying AWS resources. Overview
  • amazonka-applicationcostprofiler: Track the consumption of shared AWS resources used by software applications and report granular cost breakdown across tenant base. Overview
  • amazonka-appmesh: Service mesh that provides application-level networking for services to communicate with each other across multiple types of compute infrastructure. Overview
  • amazonka-apprunner: Fully managed container application service. Overview
  • amazonka-auditmanager: Continuously audit AWS usage to simplify risk assessment and compliance. Overview
  • amazonka-backup: Centrally manage and automate backups across AWS services. Overview
  • amazonka-braket: Managed quantum computing service. Overview
  • amazonka-chime-sdk-identity: Integrate identity providers with Amazon Chime SDK Messaging. Overview
  • amazonka-chime-sdk-messaging: Create messaging applications that run on the Amazon Chime service. Overview
  • amazonka-chime: Communications service that lets you meet, chat, and place business calls inside and outside your organization, all using a single application. Overview
  • amazonka-cloudcontrol: Create, read, update, delete, and list (CRUD-L) your cloud resources that belong to a wide range of services—both AWS and third-party. Overview
  • amazonka-codeartifact: Managed artifact repository service to securely store, publish, and share software packages. Overview
  • amazonka-codeguru-reviewer: Program analysis and machine learning service to detect potential defects and improvements in Java and Python code. Overview
  • amazonka-codeguruprofiler: Collects runtime performance data from applications, and provides recommendations to help fine-tune application performance. Overview
  • amazonka-codestar-connections: Connect services like AWS CodePipeline to third-party source code providers. Overview
  • amazonka-codestar-notifications: Subscribe to events from AWS CodeBuild, AWS CodeCommit, AWS CodeDeploy, and AWS CodePipeline. Overview
  • amazonka-comprehendmedical: Extract information from unstructured medical text. Overview
  • amazonka-compute-optimizer: Recommends optimal AWS resources to reduce costs and improve performance. Overview
  • amazonka-connect-contact-lens: Undertand the sentiment and trends of customer conversations to identify crucial company and product feedback. Overview
  • amazonka-connectparticipant: Amazon Connect APIs for chat participants, such as agents and customers. Overview
  • amazonka-customer-profiles: Unified view of customer profiles in Amazon Connect. Overview
  • amazonka-databrew: Visual data preparation tool for data analysts and data scientists to clean and normalize data. Overview
  • amazonka-dataexchange: Easily find and subscribe to third-party data in the cloud. Overview
  • amazonka-datasync: Connect to your storage, connect to our storage, and start copying. Overview
  • amazonka-detective: Analyze and visualize security data to get to the root cause of potential security issues. Overview
  • amazonka-devops-guru: ML-powered cloud operations service to improve application availability. Overview
  • amazonka-dlm: Data Lifecycle Manager — manage the lifecycle of your AWS resources. Overview
  • amazonka-docdb: Managed document database service. Overview
  • amazonka-ebs: High performance block storage. Overview
  • amazonka-ec2-instance-connect: Connect to Linux EC2 instances using SSH. Overview
  • amazonka-ecr-public: Public, managed container image registry service. Overview
  • amazonka-elastic-inference: Attach low-cost GPU-powered acceleration to Amazon EC2 and Sagemaker instances or Amazon ECS tasks. Overview
  • amazonka-emr-containers: Amazon EMR on EKS. Overview
  • amazonka-finspace-data: Data operations for Amazon FinSpace. Overview
  • amazonka-finspace: Data management and analytics service purpose-built for the financial services industry. Overview
  • amazonka-fis: us-east-1 as a service. Overview
  • amazonka-forecast: Time-series forecasting service based on machine learning, and built for business metrics analysis. Overview
  • amazonka-forecastquery: Amazon Forecast Query Service. Overview
  • amazonka-frauddetector: Managed fraud detection service using machine learning to identify potentially fraudulent activities and catch fraud faster. Overview
  • amazonka-globalaccelerator: Improve global application availability and performance using the AWS global network. Overview
  • amazonka-grafana: Managed service for the Grafana analytics platform. Overview
  • amazonka-greengrassv2: Overview
  • amazonka-groundstation: Control satellites and ingest data with fully managed Ground Station as a Service. Overview
  • amazonka-healthlake: Securely store, transform, query, and analyze health data. Overview
  • amazonka-honeycode: Quickly build mobile and web apps for teams—without programming. Overview
  • amazonka-identitystore: AWS Single Sign-On (SSO) Identity Store. Overview
  • amazonka-imagebuilder: AWS EC2 Image Builder — Automate the creation, management, and deployment of customized, secure, and up-to-date server images. Overview
  • amazonka-iot1click-devices: Overview
  • amazonka-iot1click-projects: Overview
  • amazonka-iotdeviceadvisor: Managed cloud-based test capability to validate IoT devices for reliable and secure connectivity with AWS IoT Core. Overview
  • amazonka-iotevents-data: Send inputs to detectors, list detectors, and view or update a detector’s status. Overview
  • amazonka-iotevents: Easily detect and respond to events from IoT sensors and applications. Overview
  • amazonka-iotfleethub: Build standalone web applications for monitoring the health of your device fleets. Overview
  • amazonka-iotfleetwise: Collect, transform, and transfer vehicle data to the cloud in near real time. Overview
  • amazonka-iotsecuretunneling: Establish bidirectional communication to remote devices over a secure connection that is managed by AWS IoT. Overview
  • amazonka-iotsitewise: Collect, organize, and analyze data from industrial equipment at scale. Overview
  • amazonka-iotthingsgraph: Visually develop IoT applications. Overview
  • amazonka-iotwireless: Connect, manage, and secure LoRaWAN devices at scale. Overview
  • amazonka-ivs: Live streaming solution, ideal for creating interactive video experiences. Overview
  • amazonka-kafka: Control plane operations for Amazon Managed Streaming for Apache Kafka. Overview
  • amazonka-kafkaconnect: Deploy fully managed connectors built for Kafka Connect. Overview
  • amazonka-kinesis-video-signaling: Kinesis Video Streams with WebRTC. Overview
  • amazonka-kinesisanalyticsv2: Managed service that you can use to process and analyze streaming data. Overview
  • amazonka-lakeformation: Build a secure data lake in days. Overview
  • amazonka-license-manager: Set rules to manage, discover, and report software license usage. Overview
  • amazonka-location: Securely and easily add location data to applications. Overview
  • amazonka-lookoutequipment: Detect abnormal equipment behavior by analyzing sensor data. Overview
  • amazonka-lookoutmetrics: Automatically detect anomalies in metrics and identify their root cause. Overview
  • amazonka-lookoutvision: Spot product defects using computer vision to automate quality inspection. [Overview](Spot product defects using computer vision to automate quality inspection)
  • amazonka-macie: Amazon Macie Classic. Overview
  • amazonka-macie2: Discover and protect your sensitive data at scale. Overview
  • amazonka-managedblockchain: Easily create and manage scalable blockchain networks. Overview
  • amazonka-marketplace-catalog: Overview
  • amazonka-mediaconnect: Secure, reliable live video transport. Overview
  • amazonka-mediapackage-vod: Overview
  • amazonka-mediatailor: Linear channel assembly and personalized ad-insertion. Overview
  • amazonka-memorydb: Redis-compatible, durable, in-memory database service. Overview
  • amazonka-mgn: AWS Application Migration Service. Overview
  • amazonka-migrationhub-config: Overview
  • amazonka-mwaa: Highly available, secure, and managed workflow orchestration for Apache Airflow. Overview
  • amazonka-neptune: Build and run graph applications with highly connected datasets. Overview
  • amazonka-network-firewall: Deploy network security across your Amazon VPCs. Overview
  • amazonka-networkmanager: Create a global network in which you can monitor your AWS and on-premises networks that are built around transit gateways. Overview
  • amazonka-nimble: Empower creative studios to produce visual effects, animation, and interactive content entirely in the cloud. Overview
  • amazonka-opensearch: Distributed, open-source search and analytics suite. (Successor to Amazon Elasticsearch Service.) Overview
  • amazonka-outposts: Run AWS infrastructure and services on premises. Overview
  • amazonka-panorama: Improve your operations with computer vision at the edge. Overview
  • amazonka-personalize-events: Event ingestion for Amazon Personalize. Overview
  • amazonka-personalize-runtime: Overview
  • amazonka-personalize: Create real-time personalized user experiences faster at scale. Overview
  • amazonka-pi: Analyze and tune Amazon RDS database performance. Overview
  • amazonka-pinpoint-email: Overview
  • amazonka-pinpoint-sms-voice: Overview
  • amazonka-proton: Automate management for container and serverless deployments. Overview
  • amazonka-qldb-session: Overview
  • amazonka-quicksight: Scalable, serverless, embeddable, ML-powered BI service. Overview
  • amazonka-ram: Securely share your resources across AWS accounts, organizational units (OUs), and with IAM users and roles. Overview
  • amazonka-rds-data: Run SQL statements on Amazon Aurora Serverless DB cluster. Overview
  • amazonka-redshift-data: Access Amazon Redshift data over HTTPS. Overview
  • amazonka-robomaker: Run, scale, and automate robotics simulation. Overview
  • amazonka-route53-recovery-cluster: Simplify and automate recovery for highly available applications. Overview
  • amazonka-route53-recovery-control-config: Overview
  • amazonka-route53-recovery-readiness: Overview
  • amazonka-route53resolver: Overview
  • amazonka-s3outposts: Object storage in your on-premises environments. Overview
  • amazonka-sagemaker-a2i-runtime: Add human judgment to any machine learning application. Overview
  • amazonka-sagemaker-edge: Manage and monitor ML models across fleets of smart devices. Overview
  • amazonka-sagemaker-featurestore-runtime: A fully managed repository for machine learning features. Overview
  • amazonka-savingsplans: Flexible pricing model for AWS Services. Overview
  • amazonka-schemas: Collect and organize schemas so that your schemas are in logical groups. Overview
  • amazonka-securityhub: Automate AWS security checks and centralize security alerts. Overview
  • amazonka-service-quotas: View and manage your quotas. Overview
  • amazonka-servicecatalog-appregistry: Create a repository of your applications and associated resources. Overview
  • amazonka-signer: Managed code-signing service to ensure the trust and integrity of your code. Overview
  • amazonka-sms-voice:
  • amazonka-snow-device-management: Overview
  • amazonka-ssm-contacts: Systems Manager Incident Manager Contacts. Overview
  • amazonka-ssm-incidents: Incident management console to help users mitigate and recover from incidents. Overview
  • amazonka-sso-admin: Overview
  • amazonka-sso-oidc: AWS Single Sign-On OpenID Connect. Overview
  • amazonka-sso: Single Sign-On Portal. Centrally manage access to multiple AWS accounts or applications. Overview
  • amazonka-synthetics: Amazon CloudWatch Synthetics — create canaries, configurable scripts that run on a schedule, to monitor your endpoints and APIs. Overview
  • amazonka-transfer: Simple, secure, and scalable file transfers. Overview
  • amazonka-voice-id: Real-time caller authentication and fraud risk detection using ML-powered voice analysis. Overview
  • amazonka-wellarchitected: Programmatic access to the AWS Well-Architected Tool. Overview
  • amazonka-wisdom: Deliver agents the information they need to solve issues in real-time. Overview
  • amazonka-worklink: Provide secure mobile access to internal websites and web apps. Overview
  • amazonka-workmailmessageflow: Overview


Released: 03 Feb, 2019, Compare: 1.6.0


  • Correctly catch exceptions in perform. #464


  • Add a MonadUnliftIO instance for AWST'. #461
  • Add FromText instances for Int64, String and Seconds. #489
  • Add generalBracket for MonadMask instance on AWST’. #492
  • Remove fractional seconds from serialization of iso8601 timestamps #502


Released: 16 May, 2018, Compare: 1.5.0


  • GHC 8.4 compatibility. #456
  • Conduit 1.3 compatibility. #449
  • S3 BucketName now has a FromJSON instance. #452
  • S3 ListObjectsV2 is now named correctly. #447
  • HTTP Expect headers are now stripped when presigning URLs. #444
  • Duplicate generated files no longer exist on case-insensitive file systems. #429, #655
  • EC2 metadata’s instance identity document now has the correct(er) field types. #428
  • OpsWorks DescribeApps and DescribeStacks now correctly handle optional attribute values. #436, #438

Breaking Changes

  • Lambda and other rest-json services with binary response payloads now return a raw ByteString instead of HashMap Text Value, fixing an issue where an empty body could not be deserialized. #428, #428

New Libraries

  • amazonka-alexa-business: Alexa for Business SDK. Overview
  • amazonka-appsync: Automatically update data in web and mobile applications in real time, and updates data for offline users as soon as they reconnect. Overview
  • amazonka-autoscaling-plans: Create instructions to configure dynamic scaling for the scalable resources in your application. Overview
  • amazonka-certificatemanager-pca: Create a secure private certificate authority (CA). Overview
  • amazonka-cloud9: A cloud IDE for writing, running, and debugging code. Overview
  • amazonka-comprehend: Natural language processing (NLP) service that uses machine learning to find insights and relationships in text. Overview
  • amazonka-connect: Simple to use, cloud-based contact center. Overview
  • amazonka-cost-explorer: Dive deeper into your cost and usage data to identify trends, pinpoint cost drivers, and detect anomalies. Overview
  • amazonka-fms: Centrally configure and manage firewall rules across accounts and applications. Overview
  • amazonka-guardduty: Intelligent threat detection and continuous monitoring to protect your AWS accounts and workloads. Overview
  • amazonka-iot-analytics: Analytics for IoT devices. Overview
  • amazonka-iot-jobs-dataplane: Define a set of remote operations that are sent to and executed on one or more devices connected to AWS IoT. Overview
  • amazonka-kinesis-video: Capture, process, and store video streams for analytics and machine learning. Overview
  • amazonka-kinesis-video-media: Media support for Kinesis Video. Overview
  • amazonka-kinesis-video-archived-media: Archived media support for Kinesis Video. Overview
  • amazonka-mediaconvert: Process video files and clips to prepare on-demand content for distribution or archiving. Overview
  • amazonka-medialive: Encode live video for broadcast and streaming to any device. Overview
  • amazonka-mediapackage: Easily prepare and protect video for delivery to Internet devices. Overview
  • amazonka-mediastore: Store and deliver video assets for live streaming media workflows. Overview
  • amazonka-mediastore-dataplane: MediaStore data plane. Overview
  • amazonka-mq: Managed message broker service for Apache ActiveMQ. Overview
  • amazonka-resourcegroups: Resource groups make it easier to manage and automate tasks on large numbers of resources at one time. Overview
  • amazonka-route53-autonaming: Auto naming makes it easier to provision instances for microservices by automating DNS configuration. Overview
  • amazonka-sagemaker: Build, train, and deploy machine learning models at scale. Overview
  • amazonka-sagemaker-runtime: Get inferences from SageMaker models. Overview
  • amazonka-secretsmanager: Easily rotate, manage, and retrieve database credentials, API keys, and other secrets through their lifecycle. Overview
  • amazonka-serverlessrepo: Discover, deploy, and publish serverless applications. Overview
  • amazonka-transcribe: Automatic speech recognition. Overview
  • amazonka-translate: A neural machine translation service that delivers fast, high-quality, and affordable language translation. Overview
  • amazonka-workmail: Secure, managed business email and calendar service with support for existing desktop and mobile email client applications. Overview

Updated Service Definitions

All service definitions and services have been updated and regenerated. Please see each individual library’s commits for a list of changes.


Released: 15 November, 2017, Compare: 1.4.5


  • V4 Signing Metadata is now correctly calculated for chunked request bodies. #403
  • DynamoDB Query/Scan pagination will correctly return all available items. #392
  • S3 ReplicationStatus is now parsed correctly. #372
  • OpsWorks LayerAttributes now correctly returns Maybe for Map values. #398
  • newLogger now (correctly) does not set binary mode for any passed handle. #381
  • Improved support for handling S3’s list-type=2 query strings. #391
  • Cabal files now have their license-field changed from OtherLicense to the correct MPL-2.0.


  • Add AWS Signer for V2 Header Authentication. #383
  • Add support for ECS credentials discovery via the ECS container agent. #388
  • Add new regions Montreal (ca-central-1) and London (eu-west-2). #367
  • Add hashedFileRange and chunkedFileRange for preparing request bodies from file ranges. #359

New Libraries

  • amazonka-mobile: Add and configure features for mobile apps, including authentication, data storage, backend logic, push notifications, content delivery, and analytics. Overview
  • amazonka-pricing: Price lists, pricing details, and pricing overview. Overview
  • amazonka-athena: An interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL. Overview
  • amazonka-cloudhsmv2: The newest (incompatible) API of AWS CloudHSM. Overview
  • amazonka-codestar: Use a variety of project templates to start developing applications on Amazon EC2, AWS Lambda, and AWS Elastic Beanstalk. Overview
  • amazonka-dynamodb-dax: DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for DynamoDB that delivers up to a 10x performance improvement. Overview
  • amazonka-glue: A fully managed extract, transform, and load (ETL) service that makes it easy for customers to prepare and load their data for analytics. Overview
  • amazonka-greengrass: Run local compute, messaging, data caching, and sync capabilities for connected devices in a secure way. Overview
  • amazonka-lex-runtime: Build applications using a speech or text interface powered by the same technology that powers Amazon Alexa. Overview
  • amazonka-lex-models: Build applications using a speech or text interface powered by the same technology that powers Amazon Alexa. Overview
  • amazonka-marketplace-entitlement: Markplace entitlements service. Overview
  • amazonka-resourcegroupstagging: Group and tag AWS resources. Overview

Updated Service Definitions

All service definitions and services have been updated and regenerated. Please see each individual library’s commits for a list of changes.


Released: 04 December, 2016, Compare: 1.4.4


  • Generated Haddock documentation is now more readable/consistent. #331
  • Expect: 100-continue HTTP headers are now only added to S3 PutObject requests. #338


  • Add new regions Ohio (us-east-2) and Seoul (ap-northeast-2). #334
  • The Bombay region has been renamed to Mumbai. #334
  • Route53 HostedZone and DelegateSet identifiers are now stripped, similarly to other SDKs. #336

New Libraries

  • amazonka-xray: Analyze and debug production, distributed applications, such as those built using a microservices architecture. Overview
  • amazonka-stepfunctions: Coordinate the components of distributed applications and microservices using visual workflows. Overview
  • amazonka-ssm: Automate collecting system inventory, applying OS patches, creation of AMIs, and configuring OSes and applications at scale. API Reference
  • amazonka-snowball (+ snowball-edge): Data transport solution using secure appliances to transfer large data into and out of AWS. Overview
  • amazonka-shield: DDoS protection service for web applications using ELB, CloudFront, and Route 53. Overview
  • amazonka-rekognition: Image analysis service for detecting objects, scenes, and faces in images. Overview
  • amazonka-polly: Turn text into lifelike speech. Supports 24 languages and 47 lifelike voices. Overview
  • amazonka-pinpoint: Targeted push notification campaigns to improve engagement in mobile apps. Overview
  • amazonka-opsworks-cm: Managed Chef Automated for OpsWorks. Overview
  • amazonka-lightsail: Launch and manage a virtual private servers. Overview
  • amazonka-health: Personalized service dashboard of your AWS service health. Overview
  • amazonka-codebuild: Continuously build and test your code, paying for what you use. Overview
  • amazonka-appstream (Version 2): Stream desktop applications to any device running a browser. Overview
  • amazonka-budgets: Plan your usage and costs. User Guide
  • amazonka-sms: Automate, schedule, and track incremental replications of live server volumes from on premise to AWS. Overview

Updated Service Definitions

The following services contain a large number of definition updates. Please review the linked commit for each library for specific changes:


Released: 23 October, 2016, Compare: 1.4.3

Fixed #306

  • Kinesis SharedLevelMetrics now correctly deserializes empty responses. #306


  • newEnv no longer takes Region as a parameter and instead defaults to us-east-1 per other SDK behaviour. The new Env can be configured using the envRegion lens or the within combinator.
  • Region is now discovered via the InstanceIdentity metadata document. #308
  • Region can now be overridden via the AWS_REGION environment variable. #308


Released: 09 June, 2016, Compare: 1.4.2


  • Additional fixes for APIGateway timestamps. #291
  • CloudWatchLogs FilterLogEvents pagination now correctly returns all results. #296
  • Documentation code samples for IoT, Lambda, and Discovery are now correctly Haddock formatted.


  • Documentation is now formatted more consistently at the expense of longer line columns.
  • POSIX timestamps no longer have unecessary (and misleading) Text/XML instances.


Released: 03 June, 2016, Compare: 1.4.1


  • GHC 8 support. #294
  • APIGateway now correctly parses and encodes ISO8601 formatted timestamps. #291
  • ~/.aws/credentials now correctly parses with leading newlines. #290


  • SerializeError now contains the unparsed response body. #293

New Libraries

  • amazonka-discovery: Discover on-premises application inventory and dependencies. Overview
  • amazonka-application-autoscaling: General purpose scaling of AWS resources. API Reference

Updated Service Definitions


Released: 09 May, 2016, Compare: 1.4.0


  • AutoScaling DescribeAutoScalingInstances response field LaunchConfigurationName is now optional. #281
  • SWF PollForDecisionTask and PollForActivityTask response fields are now optional. #285


  • NFData instances generated for all eligible types. #283
  • Additional retry cases for HTTP 5XX response codes. c5e494e

Updated Service Definitions

The following services contain a large number of definition updates. Please review the linked commit for each library for specific changes:

New Libraries

  • amazonka-coginito-idp: Cognito Identity Provider.


Released: 21 March, 2016, Compare: 1.3.7


  • Host header missing for presigned URLs. #264
  • Set all API Gateway communication to Accept: application/json. #266
  • Override EC2 AttachmentStatus to add "available". #273 #275
  • Allow EC2 DeleteTags to omit the tag value. #270
  • Add Hashable instances for non-streaming types. #267

Updated Service Definitions

The following services contain a large number (3 months worth) of definition updates. Please see the relevant libraries for specific changes:

  • API Gateway
  • AutoScaling
  • CloudFormation
  • CloudFront
  • CloudHSM
  • CloudSearchDomain
  • CloudWatch
  • CloudWatchLogs
  • CodeCommit
  • CodeDeploy
  • Config
  • DeviceFarm
  • DirectConnect
  • DirectoryService
  • DynamoDB
  • EC2
  • ECS
  • EMR
  • IAM
  • IoT
  • Lambda
  • Marketplace Analytics
  • OpsWorks
  • RDS
  • Redshift
  • Route53
  • S3
  • SES
  • SSM
  • STS
  • StorageGateway
  • Web Application Firewall

New Libraries

  • amazonka-certificatemanager: AWS Certificate Manager.
  • amazonka-dms: Database Migration Service.
  • amazonka-ecr: Elastic Container Registry.
  • amazonka-cloudwatch-events: CloudWatch Events.
  • amazonka-gamelift: Amazon GameLift.
  • amazonka-marketplace-metering: AWS Markpletplace Metering.


Released: 18 December, 2015, Compare: 1.3.6


  • Fix SWF PollFor{Activity,Decision}Task response deserialisation. #257


  • The ErrorCode type constructor is now exported. #258
  • Add Bounded instances for all enumerations with stable values. #255
  • The AWS_PROFILE environment variable can now be used to override the default file credentials location. #254

Updated Service Definitions

  • AutoScaling: Updated service definition.
  • CloudFront: GZip support.
  • CloudTrail: Add isMultiRegion flag to various operations.
  • Config: Updated service definition.
  • DirectConnect: Documentation updates.
  • DirectoryService: Updated service definition.
  • EC2: NAT Gateway updates and an updated service definition.
  • IAM: Additional resource types, documentation updates.
  • IoT: Added RegisterCertificate operation.
  • KMS: Updated service definition.
  • RDS: Add enchanced monitoring support, documentation updates.
  • Route53: Updated service definition.
  • SSM: Updated service definition.


Released: 18 November, 2015, Compare:


  • Upgrading retry dependency to >= 0.7.
  • Fix S3 BucketLocationConstraint type de/serialisation. #249
  • Fix S3 PutBucketACL header vs request body serialisation. #241


  • await responses now indicate request fulfillment. #245

Updated Services Definitions

  • EC2: Documentation updates.
  • IAM: Documentation updates.
  • ELB: Documentation updates.
  • Kinesis: Waiter updates.
  • RDS: Documentation and type updates.
  • SQS: Documentation updates.
  • STS: Documentation updates.
  • S3: Minor type and operation updates (UploadPart headers).
  • DeviceFarm: Documentation updates.
  • API Gateway: Multiple type, operation, and documentation updates.

Released: 18 November, 2015, Compare: 1.3.5


  • Fixed ambigiuty issue when using lens >= 4.13
  • Constraining retry < 0.7 to avoid breaking changes.


Released: 27 October, 2015, Compare: 1.3.4

New Libraries

  • amazonka-apigateway: API Gateway Service.

Updated Services Definitions

  • SSM: Multiple additions and documentation updates.
  • DynamoDB: Paginator updates.


Released: 25 October, 2015, Compare: 1.3.3

New Libraries

  • amazonka-iot-dataplane: Internet of Things Data Plane.

Updated Services Definitions

  • AutoScaling: Documentation updates.
  • EC2: Paginator updates.
  • Glacier: Paginator additions.
  • IAM: Paginator, type, and documentation updates.
  • KMS: Multiple type, operation, and documentation updates.
  • S3: Minor type updates. (Server side encryption related.)


Released: 08 October, 2015, Compare:


  • Fix S3 GetBucketLocation response deserialisation. #228, #237.
  • runResourceT added to documentation example. #232.
  • Add S3 infrequent access storage class. #234, #238

New Libraries

  • amazonka-elasticsearch: ElasticSearch Service.
  • amazonka-inspector: Inspector Service.
  • amazonka-iot: Internet of Things Platform.
  • amazonka-kinesis-firehose: Kinesis Firehose Service.
  • amazonka-marketplace-analytics: Marketplace Commerce Analytics Service.
  • amazonka-waf: Web Application Firewall Service.

Updated Service Definitions

  • CloudFormation: Documentation updates, DescribeAccountLimits operation added.
  • CloudFront: API version 2015-07-27 support.
  • CloudTrail: Documentation updates, various tag operations added.
  • Config: Miscellaneous type and documentation updates
  • EC2: API version 2015-10-01 support, spot blocks support.
  • ElasticBeanStalk: Documentation updates.
  • RDS: Miscellaneous type and documentation updates.
  • SES: Miscellaneous type and documentation updates.
  • WorkSpaces: Volume encryption types added.


Released: 18 September, 2015, Compare: 1.3.1


  • Ensure opqaue JSON bodies are handled correctly. #224 #226

Updated Service Definitions

  • EC2: Documentation updates.
  • EFS: Documentation updates.
  • Route53: Inverted, Measured Latency, and Child Health Check updates.
  • CloudWatchLogs
    • InvalidOperationException error matcher added.
    • DescribeExportTasks operation added
    • CreateExportTask operation added
    • CancelExportTask operation added
    • ExportTask, ExportTaskExecutionInfo, ExportTaskStatus types added.
  • S3
    • Infrequent access storage tier updates.
    • GetBucketLifecycle operation removed (deprecated).
    • PutBucketLifecycle operation removed (deprecated).
    • Rule product removed (deprecated).
    • GetbucketLifecycleConfiguration operation added.
    • PutBucketLifecycleConfiguration operation added.
    • BucketLifecycleConfiguration product added.
    • LifecycleRule product added.


Released: 09 September, 2015, Compare: 1.3.0


  • Fix S3 ListObject pagination regression. #218
  • Corrected IS08601 timezone de/serialisation. #217
  • Remove required EC2 VPC isDefault member. #214
  • Correctly named MachineLearning CreateDataSourceFromS3. 4805074

Updated Service Definitions

  • DeviceFarm
  • IAM
  • RDS
  • ImportExport
  • Route53
  • CloudWatchLogs
  • Kinesis
  • DataPipeline
  • EFS: Namespace rename from ElasticFileSystem -> EFS.


Released: 03 September, 2015, Compare:


  • Renamed all HTTP status code response lenses from *Status to *ResponseStatus.


  • Fix malformed SNS Subscribe request. #209
  • Fix amazonka-core cabal build error due to lax vector constraints. #208
  • Override SQS message attribute type, QueueAttributeName -> MessageAttributeName. #199
  • Re-enable stackage test builds for all service libraries. #170

Released: 29 August, 2015, Compare:

Released: 28 August, 2015, Compare: 1.2.0


Released: 27 August, 2015, Compare: 1.1.0


Released: 21 August, 2015, Compare: 1.0.1


Released: 18 August, 2015, Compare: 1.0.0


Released: 16 August, 2015, Compare: 0.3.6