Skip to content

Add Site model and dcim_site/dcim_sites/dcim_all_sites client methods#75

Merged
azryve merged 1 commit into
annetutil:mainfrom
crazyformat:feature/get-site-object-via-device
Jun 2, 2026
Merged

Add Site model and dcim_site/dcim_sites/dcim_all_sites client methods#75
azryve merged 1 commit into
annetutil:mainfrom
crazyformat:feature/get-site-object-via-device

Conversation

@crazyformat

Copy link
Copy Markdown

Summary

  • Adds Site dataclass + dcim_site, dcim_sites, dcim_all_sites to v37, v41, v42 (sync + async).
  • Closes the gap where the typed client only exposed the inline {id, name, slug} Site stub on
    Device.site.
  • Sync clients regenerated via transform_to_sync.py.

Test plan

  • pytest tests/integration/ (definitions + cassettes + lock.yaml hashes for dcim_site_01 and
    dcim_sites_01 across v37/v41/v42)
  • Sync clients verified byte-identical to transform_to_sync.py output
  • ruff check . — no new findings from this change

Adds a Site dataclass and three client methods (dcim_site, dcim_sites,
dcim_all_sites) to v37, v41, and v42, sync + async. The current client
has no way to fetch a site by id; anything beyond the inline
{id, name, slug} stub on Device.site means dropping out of the typed
layer.

Sync clients regenerated via transform_to_sync.py.

Integration tests added: definitions.yaml entries for dcim_site and
dcim_sites across all three versions, with recorded cassettes,
expected.yaml, and updated lock.yaml hashes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@azryve azryve merged commit 96314ac into annetutil:main Jun 2, 2026
0 of 6 checks passed
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.

3 participants