Skip to content

Commit a952c93

Browse files
committed
2 parents c063064 + 2ab8e95 commit a952c93

39 files changed

+700
-56
lines changed

Meraki.Api/Data/ConfigTemplateSwitchProfilePort.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,13 @@ public class ConfigTemplateSwitchProfilePort : NamedItem
206206
[DataMember(Name = "dot3az")]
207207
public ConfigTemplateSwitchProfilePortDot3az? Dot3az { get; set; }
208208

209+
/// <summary>
210+
/// High speed port enablement settings for C9500-32QC
211+
/// </summary>
212+
[ApiAccess(ApiAccess.ReadUpdate)]
213+
[DataMember(Name = "highSpeed")]
214+
public SwitchPortHighSpeed? HighSpeed { get; set; }
215+
209216
/// <summary>
210217
/// Profile attributes
211218
/// </summary>

Meraki.Api/Data/DeviceCellularSimsSim.cs

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,47 @@ namespace Meraki.Api.Data;
77
public class DeviceCellularSimsSim
88
{
99
/// <summary>
10-
/// Priority of SIM slot being configured. Use a value between 1 and total number of SIMs available. The value must be unique for each SIM.
10+
/// Integrated Circuit Card Identification Number
1111
/// </summary>
12-
[ApiAccess(ApiAccess.ReadUpdate)]
13-
[DataMember(Name = "simOrder")]
14-
public int? SimOrder { get; set; }
12+
[ApiAccess(ApiAccess.Read)]
13+
[DataMember(Name = "iccid")]
14+
public string? Iccid { get; set; }
1515

1616
/// <summary>
17-
/// A list of Sims
17+
/// International Mobile Subscriber Identity
18+
/// </summary>
19+
[ApiAccess(ApiAccess.Read)]
20+
[DataMember(Name = "imsi")]
21+
public string? Imsi { get; set; }
22+
23+
/// <summary>
24+
/// Mobile Station Integrated Services Digital NetworkInternational Mobile Subscriber Identity
25+
/// </summary>
26+
[ApiAccess(ApiAccess.Read)]
27+
[DataMember(Name = "msisdn")]
28+
public string? Msisdn { get; set; }
29+
30+
/// <summary>
31+
/// SIM slot being configured. Must be 'sim1' on single-sim devices. Use 'sim3' for eSIM.
1832
/// </summary>
1933
[ApiAccess(ApiAccess.ReadUpdate)]
2034
[DataMember(Name = "slot")]
2135
public string? Slot { get; set; }
2236

37+
/// <summary>Status of the SIM card.
38+
/// enum = ["PIN required", "PUK required", "active", "inserted", "not inserted", ...] SIM slot being configured.
39+
/// </summary>
40+
[ApiAccess(ApiAccess.Read)]
41+
[DataMember(Name = "status")]
42+
public string? Status { get; set; }
43+
44+
/// <summary>
45+
/// Priority of SIM slot being configured. Use a value between 1 and total number of SIMs available. The value must be unique for each SIM.
46+
/// </summary>
47+
[ApiAccess(ApiAccess.ReadUpdate)]
48+
[DataMember(Name = "simOrder")]
49+
public int? SimOrder { get; set; }
50+
2351
/// <summary>
2452
/// Is Primary
2553
/// </summary>

Meraki.Api/Data/EarlyAccessFeature.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,11 @@ public class EarlyAccessFeature : NamedItem
4747
[ApiAccess(ApiAccess.Read)]
4848
[DataMember(Name = "supportLink")]
4949
public string SupportLink { get; set; } = string.Empty;
50+
51+
/// <summary>
52+
/// Link to the privacy policy for this early access feature
53+
/// </summary>
54+
[ApiAccess(ApiAccess.Read)]
55+
[DataMember(Name = "privacyLink")]
56+
public string PrivacyLink { get; set; } = string.Empty;
5057
}

Meraki.Api/Data/FirmwareUpgradeProduct.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66
[DataContract]
77
public class FirmwareUpgradeProduct
88
{
9+
/// <summary>
10+
/// Whether or not an upgraded firmware version is available
11+
/// </summary>
12+
[ApiAccess(ApiAccess.Read)]
13+
[DataMember(Name = "isUpgradeAvailable")]
14+
public bool IsUpgradeAvailable { get; set; }
15+
916
/// <summary>
1017
/// Current version
1118
/// </summary>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
namespace Meraki.Api.Data;
2+
3+
/// <summary>
4+
/// Organization Camera Detections History Range
5+
/// </summary>
6+
[DataContract]
7+
public class OrganizationCameraDetectionsHistoryRange
8+
{
9+
/// <summary>
10+
/// The range interval in seconds
11+
/// </summary>
12+
[DataMember(Name = "interval")]
13+
public int Interval { get; set; }
14+
15+
/// <summary>
16+
/// The range end time
17+
/// </summary>
18+
[DataMember(Name = "endTime")]
19+
public DateTime EndTime { get; set; }
20+
21+
/// <summary>
22+
/// The range start time
23+
/// </summary>
24+
[DataMember(Name = "startTime")]
25+
public DateTime StartTime { get; set; }
26+
}

Meraki.Api/Data/OrganizationFirmwareUpgradesByDeviceItem.cs

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,76 @@
66
[DataContract]
77
public class OrganizationFirmwareUpgradesByDeviceItem
88
{
9+
/// <summary>
10+
/// The time the device checkin finished
11+
/// </summary>
12+
[ApiAccess(ApiAccess.Read)]
13+
[DataMember(Name = "checkinFinishedAt")]
14+
public DateTime CheckinFinishedAt { get; set; }
15+
16+
/// <summary>
17+
/// The time the device checkin started
18+
/// </summary>
19+
[ApiAccess(ApiAccess.Read)]
20+
[DataMember(Name = "checkinStartedAt")]
21+
public DateTime CheckinStartedAt { get; set; }
22+
23+
/// <summary>
24+
/// The detailed status of the device upgrade
25+
/// </summary>
26+
[ApiAccess(ApiAccess.Read)]
27+
[DataMember(Name = "detailedStatus")]
28+
public string DetailedStatus { get; set; } = string.Empty;
29+
930
/// <summary>
1031
/// Status of the device upgrade
1132
/// </summary>
1233
[ApiAccess(ApiAccess.Read)]
1334
[DataMember(Name = "deviceStatus")]
1435
public string DeviceStatus { get; set; } = string.Empty;
1536

37+
/// <summary>
38+
/// The time the device upgrade download finished
39+
/// </summary>
40+
[ApiAccess(ApiAccess.Read)]
41+
[DataMember(Name = "downloadFinishedAt")]
42+
public DateTime DownloadFinishedAt { get; set; }
43+
44+
/// <summary>
45+
/// The time the device upgrade download started
46+
/// </summary>
47+
[ApiAccess(ApiAccess.Read)]
48+
[DataMember(Name = "downloadStartedAt")]
49+
public DateTime DownloadStartedAt { get; set; }
50+
51+
/// <summary>
52+
/// The status of the device upgrade download
53+
/// </summary>
54+
[ApiAccess(ApiAccess.Read)]
55+
[DataMember(Name = "downloadStatus")]
56+
public string DownloadStatus { get; set; } = string.Empty;
57+
58+
/// <summary>
59+
/// The time the device upgrade install finished
60+
/// </summary>
61+
[ApiAccess(ApiAccess.Read)]
62+
[DataMember(Name = "installFinishedAt")]
63+
public DateTime InstallFinishedAt { get; set; }
64+
65+
/// <summary>
66+
/// The time the device upgrade install started
67+
/// </summary>
68+
[ApiAccess(ApiAccess.Read)]
69+
[DataMember(Name = "installStartedAt")]
70+
public DateTime InstallStartedAt { get; set; }
71+
72+
/// <summary>
73+
/// The status of the device upgrade install
74+
/// </summary>
75+
[ApiAccess(ApiAccess.Read)]
76+
[DataMember(Name = "installStatus")]
77+
public string InstallStatus { get; set; } = string.Empty;
78+
1679
/// <summary>
1780
/// Name assigned to the device
1881
/// </summary>
@@ -27,6 +90,27 @@ public class OrganizationFirmwareUpgradesByDeviceItem
2790
[DataMember(Name = "serial")]
2891
public string Serial { get; set; } = string.Empty;
2992

93+
/// <summary>
94+
/// The time the device upgrade verification finished
95+
/// </summary>
96+
[ApiAccess(ApiAccess.Read)]
97+
[DataMember(Name = "verifyFinishedAt")]
98+
public DateTime VerifyFinishedAt { get; set; }
99+
100+
/// <summary>
101+
/// The time the device upgrade verification started
102+
/// </summary>
103+
[ApiAccess(ApiAccess.Read)]
104+
[DataMember(Name = "verifyStartedAt")]
105+
public DateTime VerifyStartedAt { get; set; }
106+
107+
/// <summary>
108+
/// The status of the device upgrade verification
109+
/// </summary>
110+
[ApiAccess(ApiAccess.Read)]
111+
[DataMember(Name = "verifyStatus")]
112+
public string VerifyStatus { get; set; } = string.Empty;
113+
30114
/// <summary>
31115
/// The devices upgrade details and status
32116
/// </summary>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
namespace Meraki.Api.Data;
2+
3+
/// <summary>
4+
/// Organization Spaces Integration Status
5+
/// </summary>
6+
[DataContract]
7+
public class OrganizationSpacesIntegrateStatus
8+
{
9+
/// <summary>
10+
/// The spaces dashboard account name created in spaces integration
11+
/// </summary>
12+
[ApiAccess(ApiAccess.Read)]
13+
[DataMember(Name = "accountName")]
14+
public string AccountName { get; set; } = string.Empty;
15+
16+
/// <summary>
17+
/// The spaces dashboard account type created in spaces integration
18+
/// </summary>
19+
[ApiAccess(ApiAccess.Read)]
20+
[DataMember(Name = "accountType")]
21+
public string AccountType { get; set; } = string.Empty;
22+
23+
/// <summary>
24+
/// The meraki user who attempts the spaces integration
25+
/// </summary>
26+
[ApiAccess(ApiAccess.Read)]
27+
[DataMember(Name = "email")]
28+
public string Email { get; set; } = string.Empty;
29+
30+
/// <summary>
31+
/// The success or failure status of the API
32+
/// </summary>
33+
[ApiAccess(ApiAccess.Read)]
34+
[DataMember(Name = "status")]
35+
public bool Status { get; set; }
36+
37+
/// <summary>
38+
/// The set of different states on the spaces integration process
39+
/// </summary>
40+
[ApiAccess(ApiAccess.Read)]
41+
[DataMember(Name = "states")]
42+
public List<string> States { get; set; } = [];
43+
}

Meraki.Api/Data/RoutingInterface.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ public class RoutingInterface : NamedItem
1313
[DataMember(Name = "interfaceId")]
1414
public string InterfaceId { get; set; } = string.Empty;
1515

16+
/// <summary>
17+
/// Device Serial
18+
/// </summary>
19+
[ApiKey]
20+
[DataMember(Name = "serial")]
21+
public string Serial { get; set; } = string.Empty;
22+
1623
/// <summary>
1724
/// The VLAN this routed interface is on. VLAN must be between 1 and 4094.
1825
/// </summary>
@@ -48,6 +55,20 @@ public class RoutingInterface : NamedItem
4855
[DataMember(Name = "subnet")]
4956
public string? Subnet { get; set; }
5057

58+
/// <summary>
59+
/// Switch Port ID when in Routed mode (CS 17.18 or higher required).
60+
/// </summary>
61+
[ApiAccess(ApiAccess.ReadWrite)]
62+
[DataMember(Name = "switchPortId")]
63+
public string? SwitchPortId { get; set; }
64+
65+
/// <summary>
66+
/// The loopback settings of the interface. Documentation incomplete 2025-09-29
67+
/// </summary>
68+
[ApiAccess(ApiAccess.ReadWrite)]
69+
[DataMember(Name = "loopback")]
70+
public object? Loopback { get; set; }
71+
5172
/// <summary>
5273
/// Whether this is the switch's IPv4 uplink
5374
/// </summary>
@@ -97,4 +118,11 @@ public class RoutingInterface : NamedItem
97118
[ApiAccess(ApiAccess.ReadWrite)]
98119
[DataMember(Name = "mode")]
99120
public string? Mode { get; set; }
121+
122+
/// <summary>
123+
/// VRF settings. Included on networks with IOS XE 17.18 or higher
124+
/// </summary>
125+
[ApiAccess(ApiAccess.ReadWrite)]
126+
[DataMember(Name = "vrf")]
127+
public RoutingInterfaceVrf? Vrf { get; set; }
100128
}

Meraki.Api/Data/RoutingInterfaceCreateRequest.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,20 @@ public class RoutingInterfaceCreateRequest : NamedItem
4141
[DataMember(Name = "subnet")]
4242
public string Subnet { get; set; } = string.Empty;
4343

44+
/// <summary>
45+
/// Switch Port ID when in Routed mode (CS 17.18 or higher required)
46+
/// </summary>
47+
[ApiAccess(ApiAccess.ReadWrite)]
48+
[DataMember(Name = "switchPortId")]
49+
public string? SwitchPortId { get; set; }
50+
51+
/// <summary>
52+
/// The loopback settings of the interface. Documentation incomplete 2025-09-29
53+
/// </summary>
54+
[ApiAccess(ApiAccess.ReadWrite)]
55+
[DataMember(Name = "loopback")]
56+
public object? Loopback { get; set; }
57+
4458
/// <summary>
4559
/// Whether this is the switch's IPv4 uplink
4660
/// </summary>
@@ -55,6 +69,14 @@ public class RoutingInterfaceCreateRequest : NamedItem
5569
[DataMember(Name = "uplinkV6")]
5670
public bool? UplinkV6 { get; set; }
5771

72+
/// <summary>
73+
/// L3 Interface mode, can be one of 'vlan', 'routed' or 'loopback'. Default is 'vlan'. CS 17.18 or higher is required for 'routed' mode.
74+
/// enum = ["loopback", "routed", "vlan"]
75+
/// </summary>
76+
[ApiAccess(ApiAccess.ReadWrite)]
77+
[DataMember(Name = "mode")]
78+
public string? Mode { get; set; }
79+
5880
/// <summary>
5981
/// The IPv6 settings of the interface
6082
/// </summary>
@@ -68,4 +90,10 @@ public class RoutingInterfaceCreateRequest : NamedItem
6890
[ApiAccess(ApiAccess.ReadWrite)]
6991
[DataMember(Name = "ospfSettings")]
7092
public OspfSettings? OspfSettings { get; set; }
93+
94+
/// <summary>
95+
/// VRF settings. Included on networks with IOS XE 17.18 or higher
96+
/// </summary>
97+
[DataMember(Name = "vrf")]
98+
public RoutingInterfaceVrf? Vrf { get; set; }
7199
}

Meraki.Api/Data/RoutingInterfaceUpdateRequest.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,20 @@ public class RoutingInterfaceUpdateRequest : NamedItem
2727
[DataMember(Name = "interfaceIp")]
2828
public string? InterfaceIp { get; set; }
2929

30+
/// <summary>
31+
/// Switch Port ID when in Routed mode (CS 17.18 or higher required)
32+
/// </summary>
33+
[ApiAccess(ApiAccess.ReadWrite)]
34+
[DataMember(Name = "switchPortId")]
35+
public string? SwitchPortId { get; set; }
36+
37+
/// <summary>
38+
/// The loopback settings of the interface. Documentation incomplete 2025-09-29
39+
/// </summary>
40+
[ApiAccess(ApiAccess.ReadWrite)]
41+
[DataMember(Name = "loopback")]
42+
public object? Loopback { get; set; }
43+
3044
/// <summary>
3145
/// Enable multicast support if, multicast routing between VLANs is required. Options are, 'disabled', 'enabled' or 'IGMP snooping querier'.
3246
/// </summary>
@@ -68,4 +82,10 @@ public class RoutingInterfaceUpdateRequest : NamedItem
6882
[ApiAccess(ApiAccess.ReadWrite)]
6983
[DataMember(Name = "ospfSettings")]
7084
public OspfSettings? OspfSettings { get; set; }
85+
86+
/// <summary>
87+
/// VRF settings. Included on networks with IOS XE 17.18 or higher
88+
/// </summary>
89+
[DataMember(Name = "vrf")]
90+
public RoutingInterfaceVrf? Vrf { get; set; }
7191
}

0 commit comments

Comments
 (0)