Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -337,3 +337,6 @@ appsettings.json

/Early Access Features/Push API.postman_collection.json
tmpclaude-*-cwd

# Claude Code local settings
.claude/settings.local.json
16 changes: 16 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,22 @@ CellularGateway,
The first entry should be set to a value of 1 so that deserialization of unknown values
will result in defaulting to 0 which has no valid value in the enum.

## DTO property naming

DTO properties use PascalCase C# names. The Meraki API's camelCase wire format
is preserved by a `[DataMember(Name = "camelCaseName")]` attribute on each
property. For example:

```c#
[DataMember(Name = "networkId")]
public string NetworkId { get; set; } = string.Empty;
```

Do not define public properties directly in camelCase — this breaks consumer
ergonomics (no `IntelliSense` match for the C# convention) and trips IDE1006.
The analyzer is intentionally *not* suppressed, so stragglers will fail the
build.

## API Attributes
To assist with understanding at runtime, all models which are used as a response body should be decorated to indicate
which returned properties can be used as part of create/update/delete requests.
Expand Down
2 changes: 1 addition & 1 deletion Meraki.Api/Data/Authorization.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,5 @@ public class Authorization
/// </summary>
[ApiAccess(ApiAccess.Read)]
[DataMember(Name = "authorizedByEmail")]
public string authorizedByEmail { get; set; } = string.Empty;
public string AuthorizedByEmail { get; set; } = string.Empty;
}
2 changes: 1 addition & 1 deletion Meraki.Api/Data/CameraCustomAnalyticsParameters.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ public class CameraCustomAnalyticsParameters : NamedItem
/// </summary>
[ApiAccess(ApiAccess.ReadUpdate)]
[DataMember(Name = "value")]
public string value { get; set; } = string.Empty;
public string Value { get; set; } = string.Empty;
}
2 changes: 1 addition & 1 deletion Meraki.Api/Data/ClientOverview.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public class ClientOverview
/// Usage
/// </summary>
[DataMember(Name = "usage")]
public ClientOverviewUsage usage { get; set; } = new();
public ClientOverviewUsage Usage { get; set; } = new();

/// <summary>
/// Counts
Expand Down
2 changes: 1 addition & 1 deletion Meraki.Api/Data/ClientPolicyPolicyBySsid.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@ public class ClientPolicyPolicyBySsid
/// </summary>
[ApiAccess(ApiAccess.ReadUpdate)]
[DataMember(Name = "groupPolicyId")]
public string groupPolicyId { get; set; } = string.Empty;
public string GroupPolicyId { get; set; } = string.Empty;
}
2 changes: 1 addition & 1 deletion Meraki.Api/Data/LinkLayerNodeDiscoveredLldp.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class LinkLayerNodeDiscoveredLldp
/// Management address
/// </summary>
[DataMember(Name = "managementAddress")]
public string managementAddress { get; set; } = string.Empty;
public string ManagementAddress { get; set; } = string.Empty;

/// <summary>
/// Port id
Expand Down
2 changes: 1 addition & 1 deletion Meraki.Api/Data/MerakiVpnPeers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class MerakiVpnPeers
/// NetworkId
/// </summary>
[DataMember(Name = "networkId")]
public string networkId { get; set; } = string.Empty;
public string NetworkId { get; set; } = string.Empty;

/// <summary>
/// Network name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class NetworkCellularGatewayEsimsInventoryItem
/// </summary>
[ApiAccess(ApiAccess.Read)]
[DataMember(Name = "lastUpdatedAt")]
public string lastUpdatedAt { get; set; } = string.Empty;
public string LastUpdatedAt { get; set; } = string.Empty;

/// <summary>
/// Whether eSIM is currently active SIM on Device
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@ public class OrganizationAssuranceAlertsOverviewHistoricalItemByAlertType
/// </summary>
[ApiAccess(ApiAccess.Read)]
[DataMember(Name = "type")]
public string type { get; set; } = string.Empty;
public string Type { get; set; } = string.Empty;
}
2 changes: 1 addition & 1 deletion Meraki.Api/Data/SecureConnectDestinationList.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public class SecureConnectDestinationList
/// </summary>
[ApiAccess(ApiAccess.Read)]
[DataMember(Name = "modifiedAt")]
public DateTime modifiedAt { get; set; }
public DateTime ModifiedAt { get; set; }

/// <summary>
/// The organization ID.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ public class SecureConnectTunnelClientAuthenticationParameters
/// </summary>
[ApiAccess(ApiAccess.Read)]
[DataMember(Name = "modifiedAt")]
public DateTime modifiedAt { get; set; }
public DateTime ModifiedAt { get; set; }
}
2 changes: 1 addition & 1 deletion Meraki.Api/Data/VpnStats.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class VpnStats
/// NetworkId
/// </summary>
[DataMember(Name = "networkId")]
public string networkId { get; set; } = string.Empty;
public string NetworkId { get; set; } = string.Empty;

/// <summary>
/// Network name
Expand Down
15 changes: 1 addition & 14 deletions Meraki.Api/GlobalSuppressions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,10 @@

[assembly: CLSCompliant(true)]

[assembly: SuppressMessage(
"Performance", "CA1848:Use the LoggerMessage delegates",
Justification = "TODO - remove this suppression.",
Scope = "namespaceanddescendants",
Target = "~N:Meraki.Api.Data")
]
[assembly: SuppressMessage(
"Design",
"CA1056:Uri properties should not be strings",
Justification = "Uri would not deserilize properly.",
Scope = "namespaceanddescendants",
Target = "~N:Meraki.Api.Data")]

[assembly: SuppressMessage(
"Style",
"IDE1006:Naming Styles",
Justification = "This can't be right!",
Justification = "Uri would not deserialize properly.",
Scope = "namespaceanddescendants",
Target = "~N:Meraki.Api.Data")]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,13 @@ namespace Meraki.Api.Sections.SecureConnect;
/// </summary>
public class SecureConnectDeploymentsSection
{
//public ISecureConnectDeploymentsDataCenter DataCenter { get; internal set; } = null!;
/// <summary>
/// List the network devices.
/// </summary>

public ISecureConnectDeploymentsNetworkDevices NetworkDevices { get; internal set; } = null!;

/// <summary>
/// List the tunnels for an organization.
/// </summary>

public ISecureConnectDeploymentsOrganizationTunnel OrganizationTunnel { get; internal set; } = null!;
//public ISecureConnectDeploymentsPolicy Policy { get; internal set; } = null!;
}
Loading