Skip to main content

Meraki Data Fetcher. Uses the Meraki SDK and Dataclasses to process data from Meraki.

Project description

Meraki Data Fetcher

This module pulls the data using the Meraki sdk.
For better processing of the data dataclasses was created.
These are then used to create objects that have the data from the Meraki API.

meraki_data_fetcher

The MerakiDataFetcher expects an apikey when instantiating.
The object has the following methods.

  • apikey_validation() -> boolean
  • get_organizations() -> [MerakiOrganization]
  • get_networks(organizationId: str) -> [MerakiNetwork]
  • get_device(deviceSerial: str) -> MerakiDevice
  • get_network(networkId: str) -> MerakiNetwork
  • get_network_devices(networkId: str, types='all': str) -> [MerakiDevice]

apikey_validation

With the method "apikey_validation" a boolean is returned.
True, if the apikey is valid. Otherwise, it returns False.

get_organizations

The method "get_organizations" returns all organizations available with the apikey
as an instance of the MerakiOrganizations dataclass.

get_networks

The get_networks method takes an organizationId.
Then all networks which are contained in the organization are returned as a list of MerakiNetwork instances.

get_device

The get_device method takes a deviceSerial and returns the device data as MerakiDevice instance.

get_network

The get_network method takes a networkId and returns the network data as MerakiNetwork instance.

get_network_devices

The get_network_devices method takes the networkId as a required parameter.
Optionally, the type of the devices can also be passed as parameter. The default parameter is all. The following types are available to pass

  • 'all'
  • 'Firewall'
  • 'Switch'
  • 'Access Point'
  • 'Sensor'
  • 'Camera'

The type must be passed as a string.

Dataclasses

There are eight dataclasses.

meraki_organization

The dataclass meraki_organization stores organizations with the values

  • id
  • name
  • url
  • api
  • networks

The networks are optional. On the one hand, so that organizations can be created without networks.
On the other hand, because the networks get the OrganizationId.
The value to attach the networks as a list is a feature that can be used, but does not have to be used.
All other values must be set when instantiating.

meraki_network

The dataclass meraki_network stores networks with the values

  • id
  • organizationId
  • name
  • productTypes
  • timeZone
  • tags
  • url
  • notes
  • configTemplateId
  • isBoundToConfigTemplate

All these values must be set.

meraki_device

The dataclass meraki_device is a parent class for all types of Meraki devices.
This contains the values

  • name
  • lat
  • lng
  • serial
  • mac
  • model
  • address
  • notes
  • tags
  • networkId
  • firmware
  • floorPlanId
  • url
  • productType

meraki_device_appliance

The dataclass meraki_device_appliance is a child class for Meraki Firewalls.
This contains the values from the meraki_device dataclass and

  • wan1Ip
  • wan2Ip

meraki_device_camera

The dataclass meraki_device_camera is a child class for Meraki Cameras.
This contains the values from the meraki_device dataclass and

  • lanIp
  • wirelessMac

meraki_device_sensor

The dataclass meraki_device_sensor is a child class for Meraki Sensors.
This contains the values from the meraki_device dataclass and

  • lanIp

meraki_device_switch

The dataclass meraki_device_switch is a child class for Meraki Switches.
This contains the values from the meraki_device dataclass and

  • lanIp
  • switchProfileId

meraki_device_wireless

The dataclass meraki_device_wireless is a child class for Meraki Access Points.
This contains the values from the meraki_device dataclass and

  • lanIp
  • beaconIdParams

meraki_port

The dataclass meraki_port is a parent class for all types of ports from Meraki devices.
This contains the values

  • enabled: bool
  • type: str
  • vlan: int
  • allowedVlans: str

meraki_port_appliance

The dataclass meraki_port_appliance is a child class for Meraki Port.
This contains the values from the meraki_port dataclass and

  • number: int
  • dropUntaggedTraffic: bool
  • accessPolicy: str

meraki_port_switch

The dataclass meraki_port_switch is a child class for Meraki Port.
This contains the values from the meraki_port dataclass and

  • serial: str
  • portId: str
  • name: str
  • tags: [str]
  • poeEnabled: bool
  • voiceVlan: int
  • isolationEnabled: bool
  • rstpEnabled: bool
  • stpGuard: str
  • linkNegotiation: str
  • linkNegotiationCapabilities: [str]
  • portScheduleId: str
  • udld: str
  • accessPolicyType: str
  • accessPolicyNumber: int
  • macAllowList: [str]
  • stickyMacAllowList: [str]
  • stickyMacAllowListLimit: int
  • stormControlEnabled: bool
  • adaptivePolicyGroupId: str
  • peerSgtCapable: bool
  • flexibleStackingEnabled: bool
  • daiTrusted: bool
  • profile: MerakiPortSwitchProfile = None

meraki_port_switch_profile

The dataclass meraki_port_switch_profile contains the values for the profile in meraki_port_switch.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

merakiDataFetcher-1.1.5.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

merakiDataFetcher-1.1.5-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file merakiDataFetcher-1.1.5.tar.gz.

File metadata

  • Download URL: merakiDataFetcher-1.1.5.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for merakiDataFetcher-1.1.5.tar.gz
Algorithm Hash digest
SHA256 1d3816d30ea0d0102b4aad7d1ca9f54d5affc543485b210e990b4afb1726dcfe
MD5 18ba9ad7f59be943730bd3c996c81b35
BLAKE2b-256 c12fb0fe8ec9d8e8088c1d4253acb17f19c5f4587711279005099304634b8418

See more details on using hashes here.

File details

Details for the file merakiDataFetcher-1.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for merakiDataFetcher-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e15da035f43c5e21a154f0511d6596300dca77b7e9da756b9af3553acb21990b
MD5 24ae278405406367c5998075230fc3c4
BLAKE2b-256 2431efaac70dce8347d9af73fc660d605dd403328c7c5a07e766b2c1f2b8cacc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page