Skip to content

feat: map the Wireless response members from the 1.74.0 gap report - #420

Merged
danielabbatt merged 1 commit into
mainfrom
feat/map-wireless-members
Sep 29, 2026
Merged

danielabbatt merged 1 commit into
mainfrom
feat/map-wireless-members

Conversation

@danielabbatt

@danielabbatt danielabbatt commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

Rebased onto main on 2026-09-29 (main builds as 1.70.147). Merges as 1.74.10.

Before merging, retarget the base to main. Base branches are not auto-deleted in this repo, so GitHub will not retarget for you, and merging into the old base leaves the work off main (what happened to #413). Merge only after #419 is on main, with a merge commit; do not squash, rebase or click Update branch.

Stacked on #419, in the chain that starts at #415

Base is feat/map-appliance-members. Merge the chain in order with merge commits, then retarget this to main. Changelog label 1.74.10 assumes that.

What

Fourth per-area batch from gap-report-v1.74.0.md: 19 Wireless members the spec documents that the models lacked, across 12 classes.

Member Notes
Ssid.CampusGateway, .WlanIdentifier new SsidCampusGateway containing SsidCampusGatewayCluster {id}
ElectronicShelfLabelSettingsNetwork.Sepioo new ElectronicShelfLabelSettingsNetworkSepioo {hostname}
AirMarshal.Encryption, .Manufacturers, .Types string? (spec enum WEP/WPA/open, kept as string), two List<string>?
Gre.ClientIsolation, NaiRealm.Name, FailedConnection.Radio, ConnectivityEvents.SsidNumber, SsidsStatusesByDeviceItemBasicServiceSetRadio.Index, DevicesWirelessZigbeeEnrollmentsDetailed.EnrollmentStartedAt scalars
Wifi (channel utilization) the API's current startTime/endTime/utilizationTotal/utilization80211/utilizationNon80211 alongside the legacy start_ts/end_ts/utilization/wifi/non_wifi. I don't know which set the live API sends, so nothing was removed

Three corrections (never bound before)

  1. OrganizationWirelessControllerDevicesInterfacesL2UsageHistoryByIntervalGetResponse.Meta was [DataMember(Name = "name")]. Its two sibling L2 responses say "meta"; this one now does too.
  2. WirelessRfProfileCreateUpdateRequest.Be was mapped to be; the API sends dot11be. Renamed Dot11be, and WirelessRfProfileBe gains the spec's Mode and Ssids (per-SSID-group {enabled}, keyed "1" to "4", as a Dictionary). Breaking rename, but the old property never bound.
  3. DevicesWirelessZigbeeEnrollmentsDetailed.EnrollmentStartedAt was a string? bound to enrollmentStatus, found because adding the real enrollmentStartedAt collided with it. Renamed EnrollmentStatus; the new EnrollmentStartedAt is a DateTime?.

Verification

dotnet build Meraki.Api.slnx -c Debug   Build succeeded, 0 Error(s), 6 pre-existing CS0618 warnings
Meraki.Api.Test (Data namespace)        Total: 48, Errors: 0, Failed: 0   (7 new in WirelessMemberTests)
Meraki.Api.Test (Workflows)             Total: 12, Errors: 0, Failed: 0

All 13 edited files kept their BOM state and line endings.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 9 complexity

Metric Results
Complexity 9

View in Codacy

AI Reviewer: run a review on demand. To trigger the first review automatically, go to your organization or repository integration settings. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

Nineteen members the v1.74.0 spec documents that the models lacked, the
fourth per-area batch: Ssid.CampusGateway and .WlanIdentifier;
ElectronicShelfLabelSettingsNetwork.Sepioo; AirMarshal.Encryption,
.Manufacturers and .Types; Gre.ClientIsolation; NaiRealm.Name;
FailedConnection.Radio; DevicesWirelessZigbeeEnrollmentsDetailed
.EnrollmentStartedAt; ConnectivityEvents.SsidNumber;
SsidsStatusesByDeviceItemBasicServiceSetRadio.Index; and the API's current
channel-utilization names on Wifi alongside the legacy ones, which are kept
because it is not known which set the API sends today.

Three members that could never bind are corrected:

  OrganizationWirelessControllerDevicesInterfacesL2UsageHistoryByIntervalGetResponse
  .Meta was mapped to "name" instead of "meta".
  WirelessRfProfileCreateUpdateRequest.Be was mapped to "be" where the API
  sends "dot11be"; it is now Dot11be, and WirelessRfProfileBe gains Mode and
  the per-SSID-group Ssids the spec documents.
  DevicesWirelessZigbeeEnrollmentsDetailed had a property called
  EnrollmentStartedAt bound to "enrollmentStatus"; it is renamed
  EnrollmentStatus and the new EnrollmentStartedAt is the real timestamp.

WirelessMemberTests covers the new members and the corrections.
@danielabbatt
danielabbatt force-pushed the feat/map-appliance-members branch from 11280e7 to 84f83fe Compare September 29, 2026 12:56
@danielabbatt
danielabbatt force-pushed the feat/map-wireless-members branch from f9d0532 to 8ca10fa Compare September 29, 2026 12:56

@danielabbatt danielabbatt left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Looks good

@danielabbatt
danielabbatt changed the base branch from feat/map-appliance-members to main September 29, 2026 13:59
@danielabbatt
danielabbatt merged commit f0dfb8c into main Sep 29, 2026
1 check passed
@danielabbatt
danielabbatt deleted the feat/map-wireless-members branch September 29, 2026 14:10
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