Skip to content

winterbaume-cloudfrontkeyvaluestore

AWS CloudFront KeyValueStore service implementation for winterbaume.

Coverage

MetricValue
ServiceCloudFront KeyValueStore
AWS modelcloudfront-keyvaluestore
ProtocolrestJson1
winterbaume coverage5/6 operations (83.3%)
stubs (routed, returns empty/default)0/6 operations (0.0%)
moto coverage0/6 operations (0.0%)
floci coverage0/6 operations (0.0%)
kumo coverage0/6 operations (0.0%)
Coverage report date2026-05-13

Server-mode usage

Start winterbaume-server and point the AWS CLI at it:

sh
cargo run -p winterbaume-server -- --host 127.0.0.1 --port 5555
sh
export AWS_ENDPOINT_URL=http://localhost:5555
aws cloudfrontkeyvaluestore help

Example

rust
use aws_sdk_cloudfrontkeyvaluestore::config::BehaviorVersion;
use winterbaume_cloudfrontkeyvaluestore::CloudFrontKvsService;
use winterbaume_core::MockAws;

#[tokio::main]
async fn main() {
    let mock = MockAws::builder()
        .with_service(CloudFrontKvsService::new())
        .build();

    let config = aws_config::defaults(BehaviorVersion::latest())
        .http_client(mock.http_client())
        .credentials_provider(mock.credentials_provider())
        .region(aws_sdk_cloudfrontkeyvaluestore::config::Region::new(
            "us-east-1",
        ))
        .load()
        .await;

    let client = aws_sdk_cloudfrontkeyvaluestore::Client::new(&config);
    let arn = "arn:aws:cloudfront::123:key-value-store/demo";
    let initial = client
        .describe_key_value_store()
        .kvs_arn(arn)
        .send()
        .await
        .expect("describe should succeed");
    let etag = initial.e_tag();
    client
        .put_key()
        .kvs_arn(arn)
        .key("greeting")
        .value("hello")
        .if_match(etag)
        .send()
        .await
        .expect("put should succeed");
    println!(
        "Stored greeting in {} (item count: {:?})",
        arn,
        initial.item_count()
    );
}

Implemented APIs (5)

  • DeleteKey
  • GetKey
  • ListKeys
  • PutKey
  • UpdateKeys
Not yet implemented APIs (1)
  • DescribeKeyValueStore

Released under the Apache-2.0 License. This project is not affiliated with or endorsed by Amazon Web Services.