View Source ExAws.Operation protocol (ExAws v2.5.8)

An operation to perform on AWS.

This module defines a protocol for executing operations on AWS. ExAws ships with several different modules that each implement the ExAws.Operation protocol. These modules each handle one of the broad categories of AWS service types:

ExAws works by creating a data structure that implements this protocol, and then calling perform/2 on it.

Summary

Types

t()

All the types that implement this protocol.

Functions

Perform a request on AWS.

Perform a streaming request on AWS.

Types

t()

@type t() :: term()

All the types that implement this protocol.

Functions

perform(operation, config)

Perform a request on AWS.

The operation is synchronous, returning a response or an error.

Example

%ExAws.Operation.JSON{
  data: %{},
  headers: [
    {"x-amz-target", "DynamoDB_20120810.ListTables"},
    {"content-type", "application/x-amz-json-1.0"}
  ],
  http_method: :post,
  params: %{},
  path: "/",
  service: :dynamodb,
} |> ExAws.Operation.perform(ExAws.Config.new(:dynamodb))

stream!(operation, config)

Perform a streaming request on AWS.