Skip to main content

Crate vantage_aws

Crate vantage_aws 

Source
Expand description

AWS API wrapper for Vantage — incubating.

Treat AWS JSON-1.1 RPC endpoints (CloudWatch Logs, ECS, DynamoDB control plane, KMS, …) as Vantage TableSources. Build an AwsAccount, hand it to a Table, and encode the operation in the table name as array_key:service/target:

"logGroups:logs/Logs_20140328.DescribeLogGroups"
    │       │       └── X-Amz-Target header value
    │       └────────── service code (also the URL hostname segment)
    └────────────────── response field that holds the row array

Conditions on the table fold into the JSON request body. v0 is read-only, first-page only, JSON-1.1 only — REST-JSON and S3 will arrive as separate source types.

Ready-made CloudWatch models live under models if you want to skip the table-name dance and start querying.

// env vars first, falling back to ~/.aws/credentials [default]
let aws = AwsAccount::from_default()?;

let mut groups: Table<AwsAccount, EmptyEntity> = Table::new(
    "logGroups:logs/Logs_20140328.DescribeLogGroups",
    aws,
);
groups.add_condition(eq("logGroupNamePrefix", "/aws/lambda/"));

Modules§

models
Ready-made tables to skip the table-name dance.

Structs§

AwsAccount

Enums§

AwsCondition

Traits§

AwsOperation
eq / in_ for AWS-backed columns. Auto-implemented for any Expressive<CborValue>Column<T>, identifier expressions, etc.

Functions§

eq
field == value. Shorthand for AwsCondition::eq.
in_
field IN values (literal set). Shorthand for AwsCondition::in_. Remember the single-value rule — a multi-element set will error at execute time.