data AWS::SigV4::Signer(service: String, region: String, credentials: AWS::Credentials::Provider)

A signer for one service and region, with a credentials provider asked for keys at each request (cached by the provider): what a service client holds.

creds = AWS::Credentials.static(access_key_id: "AKIDEXAMPLE", secret_access_key: "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY")
signer = AWS::SigV4::Signer.new("kms", "us-east-1", creds)
signer.sign(HTTP::Client::Request.get("https://kms.us-east-1.amazonaws.com/")).headers.key?("authorization")   # => true

/home/runner/work/aws/aws/src/sigv4.qz:148

Methods

def service -> String

The service's signing name: kms, s3.

/home/runner/work/aws/aws/src/sigv4.qz:150

def region -> String

The region: us-east-1.

/home/runner/work/aws/aws/src/sigv4.qz:152

def credentials -> AWS::Credentials::Provider

Where the keys come from.

/home/runner/work/aws/aws/src/sigv4.qz:154

def to_h -> Hash[Symbol, Object]

The fields as a Hash, by name.

/home/runner/work/aws/aws/src/sigv4.qz:157

def inspect -> String

#<AWS::SigV4::Signer kms us-east-1>: not the provider's state.

/home/runner/work/aws/aws/src/sigv4.qz:157

def with(*, service: String = …, region: String = …, credentials: AWS::Credentials::Provider = …) -> AWS::SigV4::Signer

A copy with the fields given replaced.

/home/runner/work/aws/aws/src/sigv4.qz:157

def to_s -> String

As inspect.

/home/runner/work/aws/aws/src/sigv4.qz:160

def sign(request: HTTP::Client::Request, *, payload_hash: String? = …, unsigned_payload: Bool = …, content_sha256: Bool = …) -> HTTP::Client::Request

request signed now (SigV4.sign's keywords but the three this signer holds).

/home/runner/work/aws/aws/src/sigv4.qz:164