Skip to content

feat: map the Switch, Camera, Sensor and Cellular Gateway members from the 1.74.0 gap report - #421

Merged
danielabbatt merged 1 commit into
mainfrom
feat/map-switch-camera-sensor-cellular-members
Sep 29, 2026
Merged

danielabbatt merged 1 commit into
mainfrom
feat/map-switch-camera-sensor-cellular-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.11.

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 #420 is on main, with a merge commit; do not squash, rebase or click Update branch.

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

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

What

Fifth per-area batch from gap-report-v1.74.0.md: 22 members across Switch, Camera, Sensor and Cellular Gateway (the four small areas, combined so the PR is still a sensible size).

Area Added
Switch AlternateManagementInterface.UseOobMgmt, ConfigOverrides.VoiceVlan, SwitchPort.StpPortFastTrunk, ConfigTemplateSwitchProfilePort.StpPortFastTrunk, StackDevice.ProductType, SwitchPortsUsageHistoryByDeviceByIntervalItem.Serial
Camera PermissionLevel + PermissionScope on all three CameraRoleApplied* types, Tag on CameraRoleAppliedOrgWide
Sensor No2, O3, Pm10 on SensorReadingHistoric and SensorReadingLatestReading (reusing SensorMetricConcentration)
Cellular Gateway NetworkCellularGatewayEsimsInventoryItemDevice.Status

Eight corrections (none of these ever bound)

Was Now
ConfigTemplateSwitchProfilePortDot3az.Dot3az mapped to dot3az Enabled mapped to enabled (matches SwitchPortDot3az)
NetworksSwitchDhcpV4ServersSeenLastPacketSourceIpv4.Ipv4 mapped to ipv4 Address mapped to address
EsimsServiceProvidersItemLogo.Logo mapped to logo Url mapped to url
EsimsServiceProvidersAccounts.Items : List<EsimsServiceProvidersAccountsItem>, where the item type is itself an {items, meta} wrapper List<NetworkCellularGatewayEsimsServiceProviderAccount>; old item type [Obsolete]
CameraLive.Zones : Zones with one fixed "0" member Dictionary<string, ZoneData> keyed by zone ID; Zones [Obsolete]
ZoneData.Person with no [DataMember] inside a [DataContract] class (Newtonsoft ignores it) [DataMember(Name = "person")], int?
SensorMetrics without no2/o3/pm10: a reading with one of those threw (Requested value 'pm10' was not found) three values added; found by the new test
IOrganizationSwitches.GetOrganizationSwitchPortsTopologyDiscoveryByDeviceAsync (13 filter parameters) with [Get(".../switch/ports/usage/history/byDevice/byInterval")]: a copy of the usage-history method renamed, so it fetched usage history into the topology type removed; the single-parameter overload with the correct .../topology/discovery/byDevice path remains. No callers outside Interfaces.

Verification

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

All edited files kept their BOM state.

@codacy-production

codacy-production Bot commented Sep 9, 2026 •

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.

@danielabbatt
danielabbatt force-pushed the feat/map-wireless-members branch from a441782 to 8cbf363 Compare September 29, 2026 12:15
@danielabbatt
danielabbatt force-pushed the feat/map-switch-camera-sensor-cellular-members branch from 1944160 to 12771be Compare September 29, 2026 12:15
@danielabbatt
danielabbatt force-pushed the feat/map-wireless-members branch from 8cbf363 to da38eeb Compare September 29, 2026 12:43
@danielabbatt
danielabbatt force-pushed the feat/map-switch-camera-sensor-cellular-members branch from 12771be to b955769 Compare September 29, 2026 12:43
@danielabbatt
danielabbatt force-pushed the feat/map-wireless-members branch from da38eeb to f9d0532 Compare September 29, 2026 12:52
@danielabbatt
danielabbatt force-pushed the feat/map-switch-camera-sensor-cellular-members branch from b955769 to c41682d Compare September 29, 2026 12:52
…m the 1.74.0 gap report

Twenty-two members the v1.74.0 spec documents that the models lacked, the
fifth per-area batch, plus eight corrections to members that could never
bind: ConfigTemplateSwitchProfilePortDot3az mapped "dot3az" for "enabled",
NetworksSwitchDhcpV4ServersSeenLastPacketSourceIpv4 mapped "ipv4" for
"address", EsimsServiceProvidersItemLogo mapped "logo" for "url",
EsimsServiceProvidersAccounts.Items was a list of a type that is itself an
{items, meta} wrapper, CameraLive.Zones was fixed to a single "0" zone where
the API keys by zone ID, ZoneData.Person had no [DataMember] inside a
[DataContract] class, SensorMetrics lacked no2/o3/pm10 so those readings
threw on deserialization, and IOrganizationSwitches carried a duplicate
GetOrganizationSwitchPortsTopologyDiscoveryByDeviceAsync overload wired to
the usage-history path, which is removed.

SwitchCameraSensorCellularMemberTests covers the new members and the
corrections.
@danielabbatt
danielabbatt force-pushed the feat/map-wireless-members branch from f9d0532 to 8ca10fa Compare September 29, 2026 12:56
@danielabbatt
danielabbatt force-pushed the feat/map-switch-camera-sensor-cellular-members branch from c41682d to 6a7e60f 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-wireless-members to main September 29, 2026 13:59
@danielabbatt
danielabbatt merged commit 9bb2891 into main Sep 29, 2026
1 check passed
@danielabbatt
danielabbatt deleted the feat/map-switch-camera-sensor-cellular-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