module

Krikri::PluginHelpers::IamApi

Shared IAM Query API client for the amazon.aws.iam_* plugins.

IAM is not EC2: it's a global service (endpoint iam.amazonaws.com, region us-east-1 for signing), its own API version, and its own XML shapes - but the wire pattern is the same SigV4-signed POST of form-encoded Action=<Name>&Version=2010-05-08&<params> the Ec2Api helper already speaks for ec2.<region>.amazonaws.com. This helper mirrors that one's shape (including the transport test seam) so the iam_* plugins share one signing/POST/error path. Credentials come from Ec2Api.resolve_credentials - the same environment-variable contract as every other amazon.aws plugin here.

Constants

IAM_API_VERSION = "2010-05-08"
IAM_ENDPOINT = "iam.amazonaws.com"
SIGNING_REGION = "us-east-1"

Class methods

call(action : String, params : Hash(String, String) | Array(Tuple(String, String)) = {} of String => String) : XML::Node
Source
child(node : XML::Node, name : String) : XML::Node | Nil
Source
children(node : XML::Node, name : String) : Array(XML::Node)
Source
descendant(node : XML::Node, name : String) : XML::Node | Nil

Depth-first search for the first element with the given name.

Source
each_page(action : String, build_params : Proc(String | Nil, Array(Tuple(String, String))), &) : Nil

A List* action's paginated walk: yields each response root until IsTruncated is false, following Marker. IsTruncated/Marker sit under the action's Result element (not directly under the root), so the search is a descendant walk.

Source
text(node : XML::Node, name : String) : String | Nil
Source
transport=(proc : Proc(String, String) | Nil) : Nil
Source
transport?
Source

Nested types