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.
def region -> String
The region: us-east-1.
def credentials -> AWS::Credentials::Provider
Where the keys come from.
def to_h -> Hash[Symbol, Object]
The fields as a Hash, by name.
def inspect -> String
#<AWS::SigV4::Signer kms us-east-1>: not the provider's state.
def with(*, service: String = …, region: String = …, credentials: AWS::Credentials::Provider = …) -> AWS::SigV4::Signer
A copy with the fields given replaced.
def to_s -> String
As inspect.
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).