Skip to content

winterbaume-ivs

IVS (Interactive Video Service) implementation for winterbaume.

Coverage

MetricValue
ServiceIVS
AWS modelivs
ProtocolrestJson1
winterbaume coverage30/40 operations (75.0%)
stubs (routed, returns empty/default)5/40 operations (12.5%)
moto coverage6/40 operations (15.0%)
floci coverage0/40 operations (0.0%)
kumo coverage0/40 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 ivs list-channels

Example

rust
use aws_sdk_ivs::config::BehaviorVersion;
use winterbaume_core::MockAws;
use winterbaume_ivs::IvsService;

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

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

    let client = aws_sdk_ivs::Client::new(&config);

    let resp = client
        .list_channels()
        .send()
        .await
        .expect("list_channels should succeed");
    println!("IVS channels: {}", resp.channels().len());
}

Implemented APIs (30)

  • BatchGetChannel
  • BatchGetStreamKey
  • BatchStartViewerSessionRevocation
  • CreateChannel
  • CreatePlaybackRestrictionPolicy
  • CreateRecordingConfiguration
  • CreateStreamKey
  • DeleteChannel
  • DeletePlaybackKeyPair
  • DeletePlaybackRestrictionPolicy
  • DeleteRecordingConfiguration
  • DeleteStreamKey
  • GetChannel
  • GetPlaybackKeyPair
  • GetPlaybackRestrictionPolicy
  • GetRecordingConfiguration
  • GetStreamKey
  • ImportPlaybackKeyPair
  • ListChannels
  • ListPlaybackKeyPairs
  • ListPlaybackRestrictionPolicies
  • ListRecordingConfigurations
  • ListStreamKeys
  • ListTagsForResource
  • PutMetadata
  • StartViewerSessionRevocation
  • TagResource
  • UntagResource
  • UpdateChannel
  • UpdatePlaybackRestrictionPolicy
Stubbed APIs (5) — routed but return an empty/default response
  • GetStream
  • GetStreamSession
  • ListStreamSessions
  • ListStreams
  • StopStream
Not yet implemented APIs (5)
  • CreateAdConfiguration
  • DeleteAdConfiguration
  • GetAdConfiguration
  • InsertAdBreak
  • ListAdConfigurations

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