Skip to content

feat(cloudfront): legacy Streaming Distributions (RTMP) — full CRUD#783

Merged
vieiralucas merged 2 commits intomainfrom
worktree-batch4-cloudfront-fle
Apr 26, 2026
Merged

feat(cloudfront): legacy Streaming Distributions (RTMP) — full CRUD#783
vieiralucas merged 2 commits intomainfrom
worktree-batch4-cloudfront-fle

Conversation

@vieiralucas
Copy link
Copy Markdown
Member

@vieiralucas vieiralucas commented Apr 26, 2026

Summary

  • Streaming Distributions: Create, CreateWithTags, Get, GetConfig, Update, Delete, List
  • ETag/If-Match concurrency, CallerReference uniqueness on create
  • DeleteStreamingDistribution enforces StreamingDistributionNotDisabled (matches AWS)
  • +7 ops (cloudfront 93 -> 100, total 2,141 -> 2,148)

Test plan

  • cargo test -p fakecloud-e2e --test cloudfront_streaming — 4 lifecycle tests pass
  • FAKECLOUD_RUN_CONFORMANCE=1 cargo test -p fakecloud-conformance --test cloudfront_streaming — 7 conformance tests pass
  • cargo run -p fakecloud-conformance -- audit — cloudfront 101/101 covered
  • cargo clippy --workspace --all-targets -- -D warnings clean
  • cargo fmt --all clean
  • README + website docs synced

Summary by cubic

Adds full support for CloudFront Streaming Distributions (legacy RTMP), including CRUD and tagging, with AWS-accurate concurrency and delete rules. CloudFront now has 100 ops (project total 2,148), and docs are updated.

  • New Features

    • Streaming Distributions: Create, CreateWithTags, Get, GetConfig, Update, Delete, List.
    • Concurrency: ETag/If-Match required on update/delete; CallerReference must be unique on create.
    • Delete rule: reject delete when Enabled=true (StreamingDistributionNotDisabled), matching AWS.
  • Bug Fixes

    • DeleteStreamingDistribution now clears tags for the distribution ARN to prevent orphaned tags in ListTagsForResource.

Written for commit b9e42cd. Summary will update on new commits.

7 new ops: Create/CreateWithTags/Get/GetConfig/Update/Delete/List with
ETag/If-Match concurrency, CallerReference uniqueness, and the
StreamingDistributionNotDisabled rule enforced before delete (matches
AWS behavior for the legacy resource).

cloudfront 93 -> 100, total 2,141 -> 2,148.

4 E2E tests + 7 conformance tests (Smithy checksums); audit clean
(cloudfront 101/101 covered).
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 10 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="crates/fakecloud-cloudfront/src/streaming_service.rs">

<violation number="1" location="crates/fakecloud-cloudfront/src/streaming_service.rs:221">
P2: Deleting a streaming distribution leaves its tags behind in `account.tags`, so `ListTagsForResource` can still return tags for a deleted resource.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread crates/fakecloud-cloudfront/src/streaming_service.rs
Cubic finding: account.tags is keyed by ARN, so removing the
streaming distribution from streaming_distributions but not its
ARN entry from tags leaves orphaned tags that ListTagsForResource
would still return.

E2E regression: tags exist after CreateStreamingDistributionWithTags,
absent after DeleteStreamingDistribution.
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 26, 2026

Codecov Report

❌ Patch coverage is 0% with 371 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...ates/fakecloud-cloudfront/src/streaming_service.rs 0.00% 368 Missing ⚠️
crates/fakecloud-cloudfront/src/streaming.rs 0.00% 3 Missing ⚠️

📢 Thoughts on this report? Let us know!

@vieiralucas vieiralucas merged commit f90b53b into main Apr 26, 2026
48 checks passed
@vieiralucas vieiralucas deleted the worktree-batch4-cloudfront-fle branch April 26, 2026 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant