├── .ansible-lint ├── .ansible-lint-ignore ├── .github └── workflows │ ├── ansible-lint.yml │ ├── docs.yml │ └── sanity_tests.yml ├── .gitignore ├── CHANGELOG.rst ├── LICENSE ├── Makefile ├── Pipfile ├── README.md ├── changelogs ├── changelog.yaml ├── config.yaml └── fragments │ ├── add_event_queries.yml │ ├── event_query.yml │ └── meraki_inventory_plugin.yml ├── docs ├── Makefile ├── _gh_include │ ├── footer.inc │ └── header.inc ├── conf.py ├── index.rst ├── platform_meraki.rst └── requirements.txt ├── galaxy.yml ├── meta └── runtime.yml ├── playbooks ├── .DS_Store ├── Bulk_change_DNS_from_file.yaml ├── Create_a_Network.yaml ├── Get_AP_Serials.yaml ├── Get_All_Devices.yaml ├── Get_IP_MGNT_info.yaml ├── Get_IP_MGNT_info_from_file.yaml ├── Set_IP_MGNT_info.yaml ├── What_Org.yaml ├── Who_Am_I.yaml ├── administered_identities_me_api_keys_revoke.yml ├── administered_identities_me_info.yml ├── administrerd_identities_me_api_keys_generate.yml ├── credentials.template ├── device_blink_leds.yml ├── device_lldp_cdp.yml ├── device_statuses.yml ├── device_switch_ports.yml ├── devices.yml ├── devices_info.yml ├── devices_live_tools_ping.yml ├── devices_switch_routing_interfaces.yml ├── files │ └── test.template ├── hosts ├── ms_playbook.yml ├── mv_playbook.yml ├── mx_deployment.yml ├── network_devices_claim.yml ├── networks.yml ├── networks_appliance_firewall_l7_firewall_rules.yml ├── networks_appliance_traffic_shaping_rules.yml ├── networks_appliance_vlans.yml ├── networks_devices_claim_2.yml ├── networks_devices_remove.yml ├── networks_syslog_servers.yml ├── networks_wireless_ssids_identityPsks.yml ├── organization.yml ├── organization_info.yml ├── organization_summary.yml ├── organizations_adaptivePolicy_acls.yml ├── organizations_adaptive_policy_groups.yml ├── organizations_admin copy.yml ├── organizations_admin.yml ├── organizations_admin_info.yml ├── organizations_camera_custom_analytics_artifacts.yml ├── organizations_clients_search_info.yml ├── organizations_config_templates.yml ├── organizations_config_templates_info.yml ├── organizations_devices_info.yml ├── organizations_login_security.yml ├── organizations_saml_idps.yml ├── switch_port_config.yml ├── test.yml ├── who_am_i.yml ├── wifi_deploy_one.yml └── wifi_deployment.yml ├── plugins ├── README.md ├── __init__.py ├── action │ ├── administered_identities_me_api_keys_generate.py │ ├── administered_identities_me_api_keys_info.py │ ├── administered_identities_me_api_keys_revoke.py │ ├── administered_identities_me_info.py │ ├── administered_licensing_subscription_entitlements_info.py │ ├── administered_licensing_subscription_subscriptions_bind.py │ ├── administered_licensing_subscription_subscriptions_claim.py │ ├── administered_licensing_subscription_subscriptions_claim_key_validate.py │ ├── administered_licensing_subscription_subscriptions_compliance_statuses_info.py │ ├── administered_licensing_subscription_subscriptions_info.py │ ├── devices.py │ ├── devices_appliance_performance_info.py │ ├── devices_appliance_radio_settings.py │ ├── devices_appliance_radio_settings_info.py │ ├── devices_appliance_uplinks_settings.py │ ├── devices_appliance_uplinks_settings_info.py │ ├── devices_appliance_vmx_authentication_token.py │ ├── devices_blink_leds.py │ ├── devices_camera_analytics_live_info.py │ ├── devices_camera_custom_analytics.py │ ├── devices_camera_custom_analytics_info.py │ ├── devices_camera_generate_snapshot.py │ ├── devices_camera_quality_and_retention.py │ ├── devices_camera_quality_and_retention_info.py │ ├── devices_camera_sense.py │ ├── devices_camera_sense_info.py │ ├── devices_camera_video_link_info.py │ ├── devices_camera_video_settings.py │ ├── devices_camera_video_settings_info.py │ ├── devices_camera_wireless_profiles.py │ ├── devices_camera_wireless_profiles_info.py │ ├── devices_cellular_gateway_lan.py │ ├── devices_cellular_gateway_lan_info.py │ ├── devices_cellular_gateway_port_forwarding_rules.py │ ├── devices_cellular_gateway_port_forwarding_rules_info.py │ ├── devices_cellular_sims.py │ ├── devices_cellular_sims_info.py │ ├── devices_info.py │ ├── devices_live_tools_arp_table.py │ ├── devices_live_tools_arp_table_info.py │ ├── devices_live_tools_cable_test.py │ ├── devices_live_tools_cable_test_info.py │ ├── devices_live_tools_leds_blink.py │ ├── devices_live_tools_ping.py │ ├── devices_live_tools_ping_device.py │ ├── devices_live_tools_ping_device_info.py │ ├── devices_live_tools_ping_info.py │ ├── devices_live_tools_throughput_test.py │ ├── devices_live_tools_throughput_test_info.py │ ├── devices_live_tools_wake_on_lan.py │ ├── devices_live_tools_wake_on_lan_info.py │ ├── devices_lldp_cdp_info.py │ ├── devices_management_interface.py │ ├── devices_management_interface_info.py │ ├── devices_sensor_commands.py │ ├── devices_sensor_commands_info.py │ ├── devices_sensor_relationships.py │ ├── devices_sensor_relationships_info.py │ ├── devices_switch_ports.py │ ├── devices_switch_ports_cycle.py │ ├── devices_switch_ports_info.py │ ├── devices_switch_ports_statuses_info.py │ ├── devices_switch_routing_interfaces.py │ ├── devices_switch_routing_interfaces_dhcp.py │ ├── devices_switch_routing_interfaces_dhcp_info.py │ ├── devices_switch_routing_interfaces_info.py │ ├── devices_switch_routing_static_routes.py │ ├── devices_switch_routing_static_routes_info.py │ ├── devices_switch_warm_spare.py │ ├── devices_switch_warm_spare_info.py │ ├── devices_wireless_alternate_management_interface_ipv6.py │ ├── devices_wireless_bluetooth_settings.py │ ├── devices_wireless_bluetooth_settings_info.py │ ├── devices_wireless_connection_stats_info.py │ ├── devices_wireless_electronic_shelf_label.py │ ├── devices_wireless_electronic_shelf_label_info.py │ ├── devices_wireless_latency_stats_info.py │ ├── devices_wireless_radio_settings.py │ ├── devices_wireless_radio_settings_info.py │ ├── devices_wireless_status_info.py │ ├── networks.py │ ├── networks_alerts_history_info.py │ ├── networks_alerts_settings.py │ ├── networks_alerts_settings_info.py │ ├── networks_appliance_connectivity_monitoring_destinations.py │ ├── networks_appliance_connectivity_monitoring_destinations_info.py │ ├── networks_appliance_content_filtering.py │ ├── networks_appliance_content_filtering_categories_info.py │ ├── networks_appliance_content_filtering_info.py │ ├── networks_appliance_firewall_cellular_firewall_rules.py │ ├── networks_appliance_firewall_cellular_firewall_rules_info.py │ ├── networks_appliance_firewall_firewalled_services.py │ ├── networks_appliance_firewall_firewalled_services_info.py │ ├── networks_appliance_firewall_inbound_firewall_rules.py │ ├── networks_appliance_firewall_inbound_firewall_rules_info.py │ ├── networks_appliance_firewall_l3_firewall_rules.py │ ├── networks_appliance_firewall_l3_firewall_rules_info.py │ ├── networks_appliance_firewall_l7_firewall_rules.py │ ├── networks_appliance_firewall_l7_firewall_rules_application_categories_info.py │ ├── networks_appliance_firewall_l7_firewall_rules_info.py │ ├── networks_appliance_firewall_multicast_forwarding.py │ ├── networks_appliance_firewall_one_to_many_nat_rules.py │ ├── networks_appliance_firewall_one_to_many_nat_rules_info.py │ ├── networks_appliance_firewall_one_to_one_nat_rules.py │ ├── networks_appliance_firewall_one_to_one_nat_rules_info.py │ ├── networks_appliance_firewall_port_forwarding_rules.py │ ├── networks_appliance_firewall_port_forwarding_rules_info.py │ ├── networks_appliance_firewall_settings.py │ ├── networks_appliance_firewall_settings_info.py │ ├── networks_appliance_ports.py │ ├── networks_appliance_ports_info.py │ ├── networks_appliance_prefixes_delegated_statics.py │ ├── networks_appliance_prefixes_delegated_statics_info.py │ ├── networks_appliance_rf_profiles.py │ ├── networks_appliance_rf_profiles_info.py │ ├── networks_appliance_sdwan_internet_policies.py │ ├── networks_appliance_security_intrusion.py │ ├── networks_appliance_security_intrusion_info.py │ ├── networks_appliance_security_malware.py │ ├── networks_appliance_security_malware_info.py │ ├── networks_appliance_settings.py │ ├── networks_appliance_settings_info.py │ ├── networks_appliance_single_lan.py │ ├── networks_appliance_single_lan_info.py │ ├── networks_appliance_ssids.py │ ├── networks_appliance_ssids_info.py │ ├── networks_appliance_traffic_shaping.py │ ├── networks_appliance_traffic_shaping_custom_performance_classes.py │ ├── networks_appliance_traffic_shaping_custom_performance_classes_info.py │ ├── networks_appliance_traffic_shaping_info.py │ ├── networks_appliance_traffic_shaping_rules.py │ ├── networks_appliance_traffic_shaping_rules_info.py │ ├── networks_appliance_traffic_shaping_uplink_bandwidth.py │ ├── networks_appliance_traffic_shaping_uplink_bandwidth_info.py │ ├── networks_appliance_traffic_shaping_uplink_selection.py │ ├── networks_appliance_traffic_shaping_uplink_selection_info.py │ ├── networks_appliance_traffic_shaping_vpn_exclusions.py │ ├── networks_appliance_vlans.py │ ├── networks_appliance_vlans_info.py │ ├── networks_appliance_vlans_settings.py │ ├── networks_appliance_vlans_settings_info.py │ ├── networks_appliance_vpn_bgp.py │ ├── networks_appliance_vpn_bgp_info.py │ ├── networks_appliance_vpn_site_to_site_vpn.py │ ├── networks_appliance_vpn_site_to_site_vpn_info.py │ ├── networks_appliance_warm_spare.py │ ├── networks_appliance_warm_spare_info.py │ ├── networks_appliance_warm_spare_swap.py │ ├── networks_bind.py │ ├── networks_bluetooth_clients_info.py │ ├── networks_camera_quality_retention_profiles.py │ ├── networks_camera_quality_retention_profiles_info.py │ ├── networks_camera_wireless_profiles.py │ ├── networks_camera_wireless_profiles_info.py │ ├── networks_cancel.py │ ├── networks_cellular_gateway_connectivity_monitoring_destinations.py │ ├── networks_cellular_gateway_connectivity_monitoring_destinations_info.py │ ├── networks_cellular_gateway_dhcp.py │ ├── networks_cellular_gateway_dhcp_info.py │ ├── networks_cellular_gateway_subnet_pool.py │ ├── networks_cellular_gateway_subnet_pool_info.py │ ├── networks_cellular_gateway_uplink.py │ ├── networks_cellular_gateway_uplink_info.py │ ├── networks_clients_info.py │ ├── networks_clients_overview_info.py │ ├── networks_clients_policy.py │ ├── networks_clients_policy_info.py │ ├── networks_clients_provision.py │ ├── networks_clients_splash_authorization_status.py │ ├── networks_clients_splash_authorization_status_info.py │ ├── networks_devices_claim.py │ ├── networks_devices_claim_vmx.py │ ├── networks_devices_remove.py │ ├── networks_events_event_types_info.py │ ├── networks_events_info.py │ ├── networks_firmware_upgrades.py │ ├── networks_firmware_upgrades_info.py │ ├── networks_firmware_upgrades_rollbacks.py │ ├── networks_firmware_upgrades_staged_events.py │ ├── networks_firmware_upgrades_staged_events_defer.py │ ├── networks_firmware_upgrades_staged_events_info.py │ ├── networks_firmware_upgrades_staged_events_rollbacks.py │ ├── networks_firmware_upgrades_staged_groups.py │ ├── networks_firmware_upgrades_staged_groups_info.py │ ├── networks_firmware_upgrades_staged_stages.py │ ├── networks_firmware_upgrades_staged_stages_info.py │ ├── networks_floor_plans.py │ ├── networks_floor_plans_auto_locate_jobs_batch.py │ ├── networks_floor_plans_devices_batch_update.py │ ├── networks_floor_plans_info.py │ ├── networks_group_policies.py │ ├── networks_group_policies_info.py │ ├── networks_health_alerts_info.py │ ├── networks_info.py │ ├── networks_insight_applications_health_by_time_info.py │ ├── networks_meraki_auth_users.py │ ├── networks_meraki_auth_users_info.py │ ├── networks_mqtt_brokers.py │ ├── networks_netflow.py │ ├── networks_netflow_info.py │ ├── networks_pii_pii_keys_info.py │ ├── networks_pii_requests_delete.py │ ├── networks_pii_requests_info.py │ ├── networks_pii_sm_devices_for_key_info.py │ ├── networks_pii_sm_owners_for_key_info.py │ ├── networks_policies_by_client_info.py │ ├── networks_publish.py │ ├── networks_recalculate.py │ ├── networks_sensor_alerts_current_overview_by_metric_info.py │ ├── networks_sensor_alerts_overview_by_metric_info.py │ ├── networks_sensor_alerts_profiles.py │ ├── networks_sensor_alerts_profiles_info.py │ ├── networks_sensor_mqtt_brokers.py │ ├── networks_sensor_mqtt_brokers_info.py │ ├── networks_sensor_relationships_info.py │ ├── networks_settings.py │ ├── networks_settings_info.py │ ├── networks_sm_bypass_activation_lock_attempts.py │ ├── networks_sm_bypass_activation_lock_attempts_info.py │ ├── networks_sm_devices_cellular_usage_history_info.py │ ├── networks_sm_devices_certs_info.py │ ├── networks_sm_devices_checkin.py │ ├── networks_sm_devices_connectivity_info.py │ ├── networks_sm_devices_desktop_logs_info.py │ ├── networks_sm_devices_device_command_logs_info.py │ ├── networks_sm_devices_device_profiles_info.py │ ├── networks_sm_devices_fields.py │ ├── networks_sm_devices_info.py │ ├── networks_sm_devices_install_apps.py │ ├── networks_sm_devices_lock.py │ ├── networks_sm_devices_modify_tags.py │ ├── networks_sm_devices_move.py │ ├── networks_sm_devices_network_adapters_info.py │ ├── networks_sm_devices_performance_history_info.py │ ├── networks_sm_devices_reboot.py │ ├── networks_sm_devices_refresh_details.py │ ├── networks_sm_devices_security_centers_info.py │ ├── networks_sm_devices_shutdown.py │ ├── networks_sm_devices_unenroll.py │ ├── networks_sm_devices_uninstall_apps.py │ ├── networks_sm_devices_wipe.py │ ├── networks_sm_devices_wlan_lists_info.py │ ├── networks_sm_profiles_info.py │ ├── networks_sm_target_groups.py │ ├── networks_sm_target_groups_info.py │ ├── networks_sm_trusted_access_configs_info.py │ ├── networks_sm_user_access_devices_delete.py │ ├── networks_sm_user_access_devices_info.py │ ├── networks_sm_users_device_profiles_info.py │ ├── networks_sm_users_info.py │ ├── networks_sm_users_softwares_info.py │ ├── networks_snmp.py │ ├── networks_snmp_info.py │ ├── networks_split.py │ ├── networks_switch_access_control_lists.py │ ├── networks_switch_access_control_lists_info.py │ ├── networks_switch_access_policies.py │ ├── networks_switch_access_policies_info.py │ ├── networks_switch_alternate_management_interface.py │ ├── networks_switch_alternate_management_interface_info.py │ ├── networks_switch_dhcp_server_policy.py │ ├── networks_switch_dhcp_server_policy_arp_inspection_trusted_servers.py │ ├── networks_switch_dhcp_server_policy_arp_inspection_trusted_servers_info.py │ ├── networks_switch_dhcp_server_policy_arp_inspection_warnings_by_device_info.py │ ├── networks_switch_dhcp_server_policy_info.py │ ├── networks_switch_dhcp_v4_servers_seen_info.py │ ├── networks_switch_dscp_to_cos_mappings.py │ ├── networks_switch_dscp_to_cos_mappings_info.py │ ├── networks_switch_link_aggregations.py │ ├── networks_switch_link_aggregations_info.py │ ├── networks_switch_mtu.py │ ├── networks_switch_mtu_info.py │ ├── networks_switch_port_schedules.py │ ├── networks_switch_port_schedules_info.py │ ├── networks_switch_qos_rules_order.py │ ├── networks_switch_qos_rules_order_info.py │ ├── networks_switch_routing_multicast.py │ ├── networks_switch_routing_multicast_info.py │ ├── networks_switch_routing_multicast_rendezvous_points.py │ ├── networks_switch_routing_multicast_rendezvous_points_info.py │ ├── networks_switch_routing_ospf.py │ ├── networks_switch_routing_ospf_info.py │ ├── networks_switch_settings.py │ ├── networks_switch_settings_info.py │ ├── networks_switch_stacks.py │ ├── networks_switch_stacks_add.py │ ├── networks_switch_stacks_info.py │ ├── networks_switch_stacks_remove.py │ ├── networks_switch_stacks_routing_interfaces.py │ ├── networks_switch_stacks_routing_interfaces_dhcp.py │ ├── networks_switch_stacks_routing_interfaces_dhcp_info.py │ ├── networks_switch_stacks_routing_interfaces_info.py │ ├── networks_switch_stacks_routing_static_routes.py │ ├── networks_switch_stacks_routing_static_routes_info.py │ ├── networks_switch_storm_control.py │ ├── networks_switch_storm_control_info.py │ ├── networks_switch_stp.py │ ├── networks_switch_stp_info.py │ ├── networks_syslog_servers.py │ ├── networks_syslog_servers_info.py │ ├── networks_topology_link_layer_info.py │ ├── networks_traffic_analysis.py │ ├── networks_traffic_analysis_info.py │ ├── networks_traffic_shaping_application_categories_info.py │ ├── networks_traffic_shaping_dscp_tagging_options_info.py │ ├── networks_unbind.py │ ├── networks_vlan_profiles.py │ ├── networks_vlan_profiles_assignments_by_device_info.py │ ├── networks_vlan_profiles_assignments_reassign.py │ ├── networks_vlan_profiles_info.py │ ├── networks_webhooks_http_servers.py │ ├── networks_webhooks_http_servers_info.py │ ├── networks_webhooks_payload_templates.py │ ├── networks_webhooks_payload_templates_info.py │ ├── networks_webhooks_webhook_tests_info.py │ ├── networks_wireless_air_marshal_rules.py │ ├── networks_wireless_air_marshal_rules_delete.py │ ├── networks_wireless_air_marshal_rules_update.py │ ├── networks_wireless_air_marshal_settings.py │ ├── networks_wireless_alternate_management_interface.py │ ├── networks_wireless_alternate_management_interface_info.py │ ├── networks_wireless_billing.py │ ├── networks_wireless_billing_info.py │ ├── networks_wireless_bluetooth_settings.py │ ├── networks_wireless_bluetooth_settings_info.py │ ├── networks_wireless_channel_utilization_history_info.py │ ├── networks_wireless_client_count_history_info.py │ ├── networks_wireless_clients_connection_stats_info.py │ ├── networks_wireless_clients_latency_stats_info.py │ ├── networks_wireless_connection_stats_info.py │ ├── networks_wireless_data_rate_history_info.py │ ├── networks_wireless_devices_connection_stats_info.py │ ├── networks_wireless_electronic_shelf_label.py │ ├── networks_wireless_electronic_shelf_label_configured_devices_info.py │ ├── networks_wireless_electronic_shelf_label_info.py │ ├── networks_wireless_ethernet_ports_profiles.py │ ├── networks_wireless_ethernet_ports_profiles_assign.py │ ├── networks_wireless_ethernet_ports_profiles_info.py │ ├── networks_wireless_ethernet_ports_profiles_set_default.py │ ├── networks_wireless_failed_connections_info.py │ ├── networks_wireless_latency_history_info.py │ ├── networks_wireless_latency_stats_info.py │ ├── networks_wireless_mesh_statuses_info.py │ ├── networks_wireless_rf_profiles.py │ ├── networks_wireless_rf_profiles_info.py │ ├── networks_wireless_settings.py │ ├── networks_wireless_settings_info.py │ ├── networks_wireless_signal_quality_history_info.py │ ├── networks_wireless_ssids.py │ ├── networks_wireless_ssids_bonjour_forwarding.py │ ├── networks_wireless_ssids_bonjour_forwarding_info.py │ ├── networks_wireless_ssids_device_type_group_policies.py │ ├── networks_wireless_ssids_device_type_group_policies_info.py │ ├── networks_wireless_ssids_eap_override.py │ ├── networks_wireless_ssids_eap_override_info.py │ ├── networks_wireless_ssids_firewall_l3_firewall_rules.py │ ├── networks_wireless_ssids_firewall_l3_firewall_rules_info.py │ ├── networks_wireless_ssids_firewall_l7_firewall_rules.py │ ├── networks_wireless_ssids_firewall_l7_firewall_rules_info.py │ ├── networks_wireless_ssids_hotspot20.py │ ├── networks_wireless_ssids_hotspot20_info.py │ ├── networks_wireless_ssids_identity_psks.py │ ├── networks_wireless_ssids_identity_psks_info.py │ ├── networks_wireless_ssids_info.py │ ├── networks_wireless_ssids_schedules.py │ ├── networks_wireless_ssids_schedules_info.py │ ├── networks_wireless_ssids_splash_settings.py │ ├── networks_wireless_ssids_splash_settings_info.py │ ├── networks_wireless_ssids_traffic_shaping_rules.py │ ├── networks_wireless_ssids_traffic_shaping_rules_info.py │ ├── networks_wireless_ssids_vpn.py │ ├── networks_wireless_ssids_vpn_info.py │ ├── networks_wireless_usage_history_info.py │ ├── organizations.py │ ├── organizations_action_batches.py │ ├── organizations_action_batches_info.py │ ├── organizations_adaptive_policy_acls.py │ ├── organizations_adaptive_policy_acls_info.py │ ├── organizations_adaptive_policy_groups.py │ ├── organizations_adaptive_policy_groups_info.py │ ├── organizations_adaptive_policy_overview_info.py │ ├── organizations_adaptive_policy_policies.py │ ├── organizations_adaptive_policy_policies_info.py │ ├── organizations_adaptive_policy_settings.py │ ├── organizations_adaptive_policy_settings_info.py │ ├── organizations_admins.py │ ├── organizations_admins_info.py │ ├── organizations_alerts_profiles.py │ ├── organizations_api_requests_info.py │ ├── organizations_api_requests_overview_info.py │ ├── organizations_api_requests_overview_response_codes_by_interval_info.py │ ├── organizations_appliance_dns_local_profiles.py │ ├── organizations_appliance_dns_local_profiles_assignments_bulk_create.py │ ├── organizations_appliance_dns_local_profiles_assignments_bulk_delete.py │ ├── organizations_appliance_dns_local_profiles_assignments_info.py │ ├── organizations_appliance_dns_local_profiles_info.py │ ├── organizations_appliance_dns_local_records.py │ ├── organizations_appliance_dns_local_records_info.py │ ├── organizations_appliance_dns_split_profiles.py │ ├── organizations_appliance_dns_split_profiles_assignments_bulk_create.py │ ├── organizations_appliance_dns_split_profiles_assignments_bulk_delete.py │ ├── organizations_appliance_dns_split_profiles_assignments_info.py │ ├── organizations_appliance_dns_split_profiles_info.py │ ├── organizations_appliance_firewall_multicast_forwarding_by_network_info.py │ ├── organizations_appliance_security_intrusion.py │ ├── organizations_appliance_security_intrusion_info.py │ ├── organizations_appliance_traffic_shaping_vpn_exclusions_by_network_info.py │ ├── organizations_appliance_uplinks_statuses_overview_info.py │ ├── organizations_appliance_uplinks_usage_by_network_info.py │ ├── organizations_appliance_vpn_third_party_vpnpeers.py │ ├── organizations_appliance_vpn_third_party_vpnpeers_info.py │ ├── organizations_appliance_vpn_vpn_firewall_rules.py │ ├── organizations_appliance_vpn_vpn_firewall_rules_info.py │ ├── organizations_assets.py │ ├── organizations_assurance_alerts_dismiss.py │ ├── organizations_assurance_alerts_info.py │ ├── organizations_assurance_alerts_overview_by_network_info.py │ ├── organizations_assurance_alerts_overview_by_type_info.py │ ├── organizations_assurance_alerts_overview_historical_info.py │ ├── organizations_assurance_alerts_overview_info.py │ ├── organizations_assurance_alerts_restore.py │ ├── organizations_branding_policies.py │ ├── organizations_branding_policies_info.py │ ├── organizations_branding_policies_priorities.py │ ├── organizations_branding_policies_priorities_info.py │ ├── organizations_camera_boundaries_areas_by_device_info.py │ ├── organizations_camera_boundaries_lines_by_device_info.py │ ├── organizations_camera_custom_analytics_artifacts.py │ ├── organizations_camera_custom_analytics_artifacts_info.py │ ├── organizations_camera_detections_history_by_boundary_by_interval_info.py │ ├── organizations_camera_permissions_info.py │ ├── organizations_camera_roles.py │ ├── organizations_camera_roles_info.py │ ├── organizations_cellular_gateway_esims_inventory_info.py │ ├── organizations_cellular_gateway_esims_service_providers_accounts.py │ ├── organizations_cellular_gateway_esims_service_providers_accounts_communication_plans_info.py │ ├── organizations_cellular_gateway_esims_service_providers_accounts_info.py │ ├── organizations_cellular_gateway_esims_service_providers_accounts_rate_plans_info.py │ ├── organizations_cellular_gateway_esims_service_providers_info.py │ ├── organizations_cellular_gateway_esims_swap.py │ ├── organizations_cellular_gateway_uplink_statuses_info.py │ ├── organizations_claim.py │ ├── organizations_clients_bandwidth_usage_history_info.py │ ├── organizations_clients_overview_info.py │ ├── organizations_clients_search_info.py │ ├── organizations_clone.py │ ├── organizations_config_templates.py │ ├── organizations_config_templates_info.py │ ├── organizations_config_templates_switch_profiles_info.py │ ├── organizations_config_templates_switch_profiles_ports.py │ ├── organizations_config_templates_switch_profiles_ports_info.py │ ├── organizations_devices_availabilities_change_history_info.py │ ├── organizations_devices_availabilities_info.py │ ├── organizations_devices_controller_migrations.py │ ├── organizations_devices_controller_migrations_info.py │ ├── organizations_devices_details_bulk_update.py │ ├── organizations_devices_info.py │ ├── organizations_devices_overview_by_model_info.py │ ├── organizations_devices_power_modules_statuses_by_device_info.py │ ├── organizations_devices_provisioning_statuses_info.py │ ├── organizations_devices_statuses_info.py │ ├── organizations_devices_statuses_overview_info.py │ ├── organizations_devices_system_memory_usage_history_by_interval_info.py │ ├── organizations_devices_uplinks_addresses_by_device_info.py │ ├── organizations_devices_uplinks_loss_and_latency_info.py │ ├── organizations_early_access_features_info.py │ ├── organizations_early_access_features_opt_ins.py │ ├── organizations_early_access_features_opt_ins_info.py │ ├── organizations_firmware_upgrades_by_device_info.py │ ├── organizations_firmware_upgrades_info.py │ ├── organizations_floor_plans_auto_locate_devices_info.py │ ├── organizations_floor_plans_auto_locate_statuses_info.py │ ├── organizations_info.py │ ├── organizations_insight_applications_info.py │ ├── organizations_insight_monitored_media_servers.py │ ├── organizations_insight_monitored_media_servers_info.py │ ├── organizations_integrations_xdr_networks_disable.py │ ├── organizations_integrations_xdr_networks_enable.py │ ├── organizations_integrations_xdr_networks_info.py │ ├── organizations_inventory_claim.py │ ├── organizations_inventory_devices_info.py │ ├── organizations_inventory_onboarding_cloud_monitoring_export_events.py │ ├── organizations_inventory_onboarding_cloud_monitoring_imports.py │ ├── organizations_inventory_onboarding_cloud_monitoring_imports_info.py │ ├── organizations_inventory_onboarding_cloud_monitoring_networks_info.py │ ├── organizations_inventory_onboarding_cloud_monitoring_prepare.py │ ├── organizations_inventory_release.py │ ├── organizations_licenses.py │ ├── organizations_licenses_assign_seats.py │ ├── organizations_licenses_info.py │ ├── organizations_licenses_move.py │ ├── organizations_licenses_move_seats.py │ ├── organizations_licenses_overview_info.py │ ├── organizations_licenses_renew_seats.py │ ├── organizations_licensing_coterm_licenses_info.py │ ├── organizations_licensing_coterm_licenses_move.py │ ├── organizations_login_security.py │ ├── organizations_login_security_info.py │ ├── organizations_networks_combine.py │ ├── organizations_openapi_spec_info.py │ ├── organizations_policy_objects.py │ ├── organizations_policy_objects_groups.py │ ├── organizations_policy_objects_groups_info.py │ ├── organizations_policy_objects_info.py │ ├── organizations_saml.py │ ├── organizations_saml_idps.py │ ├── organizations_saml_idps_info.py │ ├── organizations_saml_info.py │ ├── organizations_saml_roles.py │ ├── organizations_saml_roles_info.py │ ├── organizations_sensor_readings_history_info.py │ ├── organizations_sensor_readings_latest_info.py │ ├── organizations_sm_admins_roles.py │ ├── organizations_sm_admins_roles_info.py │ ├── organizations_sm_apns_cert_info.py │ ├── organizations_sm_sentry_policies_assignments.py │ ├── organizations_sm_sentry_policies_assignments_by_network_info.py │ ├── organizations_sm_vpp_accounts_info.py │ ├── organizations_snmp.py │ ├── organizations_snmp_info.py │ ├── organizations_splash_themes.py │ ├── organizations_splash_themes_info.py │ ├── organizations_summary_top_appliances_by_utilization_info.py │ ├── organizations_summary_top_applications_by_usage_info.py │ ├── organizations_summary_top_applications_categories_by_usage_info.py │ ├── organizations_summary_top_clients_by_usage_info.py │ ├── organizations_summary_top_clients_manufacturers_by_usage_info.py │ ├── organizations_summary_top_devices_by_usage_info.py │ ├── organizations_summary_top_devices_models_by_usage_info.py │ ├── organizations_summary_top_networks_by_status_info.py │ ├── organizations_summary_top_ssids_by_usage_info.py │ ├── organizations_summary_top_switches_by_energy_usage_info.py │ ├── organizations_switch_devices_clone.py │ ├── organizations_switch_ports_by_switch_info.py │ ├── organizations_switch_ports_clients_overview_by_device_info.py │ ├── organizations_switch_ports_overview_info.py │ ├── organizations_switch_ports_statuses_by_switch_info.py │ ├── organizations_switch_ports_topology_discovery_by_device_info.py │ ├── organizations_switch_ports_usage_history_by_device_by_interval_info.py │ ├── organizations_uplinks_statuses_info.py │ ├── organizations_webhooks_callbacks_statuses_info.py │ ├── organizations_webhooks_logs_info.py │ ├── organizations_wireless_air_marshal_rules_info.py │ ├── organizations_wireless_air_marshal_settings_by_network_info.py │ ├── organizations_wireless_clients_overview_by_device_info.py │ ├── organizations_wireless_controller_availabilities_change_history_info.py │ ├── organizations_wireless_controller_clients_overview_history_by_device_by_interval_info.py │ ├── organizations_wireless_controller_connections_info.py │ ├── organizations_wireless_controller_devices_interfaces_l2_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_l2_statuses_change_history_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_l2_usage_history_by_interval_info.py │ ├── organizations_wireless_controller_devices_interfaces_l3_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_l3_statuses_change_history_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_l3_usage_history_by_interval_info.py │ ├── organizations_wireless_controller_devices_interfaces_packets_overview_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_usage_history_by_interval_info.py │ ├── organizations_wireless_controller_devices_redundancy_failover_history_info.py │ ├── organizations_wireless_controller_devices_redundancy_statuses_info.py │ ├── organizations_wireless_controller_devices_system_utilization_history_by_interval_info.py │ ├── organizations_wireless_controller_overview_by_device_info.py │ ├── organizations_wireless_devices_channel_utilization_by_device_info.py │ ├── organizations_wireless_devices_channel_utilization_by_network_info.py │ ├── organizations_wireless_devices_channel_utilization_history_by_device_by_interval_info.py │ ├── organizations_wireless_devices_channel_utilization_history_by_network_by_interval_info.py │ ├── organizations_wireless_devices_ethernet_statuses_info.py │ ├── organizations_wireless_devices_packet_loss_by_client_info.py │ ├── organizations_wireless_devices_packet_loss_by_device_info.py │ ├── organizations_wireless_devices_packet_loss_by_network_info.py │ ├── organizations_wireless_devices_power_mode_history_info.py │ ├── organizations_wireless_devices_system_cpu_load_history_info.py │ ├── organizations_wireless_devices_wireless_controllers_by_device_info.py │ ├── organizations_wireless_radio_auto_rf_channels_recalculate.py │ ├── organizations_wireless_rf_profiles_assignments_by_device_info.py │ ├── organizations_wireless_ssids_firewall_isolation_allowlist_entries.py │ ├── organizations_wireless_ssids_firewall_isolation_allowlist_entries_info.py │ └── organizations_wireless_ssids_statuses_by_device_info.py ├── doc_fragments │ ├── __init__.py │ ├── meraki.py │ ├── module.py │ ├── module_info.py │ └── module_info_pagination.py ├── inventory │ ├── __init__.py │ └── meraki.py ├── module_utils │ └── network │ │ └── meraki │ │ ├── __init__.py │ │ └── meraki.py ├── modules │ ├── __init__.py │ ├── administered_identities_me_api_keys_generate.py │ ├── administered_identities_me_api_keys_info.py │ ├── administered_identities_me_api_keys_revoke.py │ ├── administered_identities_me_info.py │ ├── administered_licensing_subscription_entitlements_info.py │ ├── administered_licensing_subscription_subscriptions_bind.py │ ├── administered_licensing_subscription_subscriptions_claim.py │ ├── administered_licensing_subscription_subscriptions_claim_key_validate.py │ ├── administered_licensing_subscription_subscriptions_compliance_statuses_info.py │ ├── administered_licensing_subscription_subscriptions_info.py │ ├── devices.py │ ├── devices_appliance_performance_info.py │ ├── devices_appliance_radio_settings.py │ ├── devices_appliance_radio_settings_info.py │ ├── devices_appliance_uplinks_settings.py │ ├── devices_appliance_uplinks_settings_info.py │ ├── devices_appliance_vmx_authentication_token.py │ ├── devices_blink_leds.py │ ├── devices_camera_analytics_live_info.py │ ├── devices_camera_custom_analytics.py │ ├── devices_camera_custom_analytics_info.py │ ├── devices_camera_generate_snapshot.py │ ├── devices_camera_quality_and_retention.py │ ├── devices_camera_quality_and_retention_info.py │ ├── devices_camera_sense.py │ ├── devices_camera_sense_info.py │ ├── devices_camera_video_link_info.py │ ├── devices_camera_video_settings.py │ ├── devices_camera_video_settings_info.py │ ├── devices_camera_wireless_profiles.py │ ├── devices_camera_wireless_profiles_info.py │ ├── devices_cellular_gateway_lan.py │ ├── devices_cellular_gateway_lan_info.py │ ├── devices_cellular_gateway_port_forwarding_rules.py │ ├── devices_cellular_gateway_port_forwarding_rules_info.py │ ├── devices_cellular_sims.py │ ├── devices_cellular_sims_info.py │ ├── devices_info.py │ ├── devices_live_tools_arp_table.py │ ├── devices_live_tools_arp_table_info.py │ ├── devices_live_tools_cable_test.py │ ├── devices_live_tools_cable_test_info.py │ ├── devices_live_tools_leds_blink.py │ ├── devices_live_tools_ping.py │ ├── devices_live_tools_ping_device.py │ ├── devices_live_tools_ping_device_info.py │ ├── devices_live_tools_ping_info.py │ ├── devices_live_tools_throughput_test.py │ ├── devices_live_tools_throughput_test_info.py │ ├── devices_live_tools_wake_on_lan.py │ ├── devices_live_tools_wake_on_lan_info.py │ ├── devices_lldp_cdp_info.py │ ├── devices_management_interface.py │ ├── devices_management_interface_info.py │ ├── devices_sensor_commands.py │ ├── devices_sensor_commands_info.py │ ├── devices_sensor_relationships.py │ ├── devices_sensor_relationships_info.py │ ├── devices_switch_ports.py │ ├── devices_switch_ports_cycle.py │ ├── devices_switch_ports_info.py │ ├── devices_switch_ports_statuses_info.py │ ├── devices_switch_routing_interfaces.py │ ├── devices_switch_routing_interfaces_dhcp.py │ ├── devices_switch_routing_interfaces_dhcp_info.py │ ├── devices_switch_routing_interfaces_info.py │ ├── devices_switch_routing_static_routes.py │ ├── devices_switch_routing_static_routes_info.py │ ├── devices_switch_warm_spare.py │ ├── devices_switch_warm_spare_info.py │ ├── devices_wireless_alternate_management_interface_ipv6.py │ ├── devices_wireless_bluetooth_settings.py │ ├── devices_wireless_bluetooth_settings_info.py │ ├── devices_wireless_connection_stats_info.py │ ├── devices_wireless_electronic_shelf_label.py │ ├── devices_wireless_electronic_shelf_label_info.py │ ├── devices_wireless_latency_stats_info.py │ ├── devices_wireless_radio_settings.py │ ├── devices_wireless_radio_settings_info.py │ ├── devices_wireless_status_info.py │ ├── meraki_action_batch.py │ ├── meraki_admin.py │ ├── meraki_alert.py │ ├── meraki_config_template.py │ ├── meraki_device.py │ ├── meraki_firewalled_services.py │ ├── meraki_management_interface.py │ ├── meraki_mr_l3_firewall.py │ ├── meraki_mr_l7_firewall.py │ ├── meraki_mr_radio.py │ ├── meraki_mr_rf_profile.py │ ├── meraki_mr_settings.py │ ├── meraki_mr_ssid.py │ ├── meraki_ms_access_list.py │ ├── meraki_ms_access_policies.py │ ├── meraki_ms_l3_interface.py │ ├── meraki_ms_link_aggregation.py │ ├── meraki_ms_ospf.py │ ├── meraki_ms_stack.py │ ├── meraki_ms_stack_l3_interface.py │ ├── meraki_ms_storm_control.py │ ├── meraki_ms_switchport.py │ ├── meraki_mx_content_filtering.py │ ├── meraki_mx_intrusion_prevention.py │ ├── meraki_mx_l2_interface.py │ ├── meraki_mx_l3_firewall.py │ ├── meraki_mx_l7_firewall.py │ ├── meraki_mx_malware.py │ ├── meraki_mx_nat.py │ ├── meraki_mx_network_vlan_settings.py │ ├── meraki_mx_site_to_site_firewall.py │ ├── meraki_mx_site_to_site_vpn.py │ ├── meraki_mx_static_route.py │ ├── meraki_mx_third_party_vpn_peers.py │ ├── meraki_mx_uplink_bandwidth.py │ ├── meraki_mx_vlan.py │ ├── meraki_network.py │ ├── meraki_network_settings.py │ ├── meraki_organization.py │ ├── meraki_snmp.py │ ├── meraki_syslog.py │ ├── meraki_webhook.py │ ├── meraki_webhook_payload_template.py │ ├── networks.py │ ├── networks_alerts_history_info.py │ ├── networks_alerts_settings.py │ ├── networks_alerts_settings_info.py │ ├── networks_appliance_connectivity_monitoring_destinations.py │ ├── networks_appliance_connectivity_monitoring_destinations_info.py │ ├── networks_appliance_content_filtering.py │ ├── networks_appliance_content_filtering_categories_info.py │ ├── networks_appliance_content_filtering_info.py │ ├── networks_appliance_firewall_cellular_firewall_rules.py │ ├── networks_appliance_firewall_cellular_firewall_rules_info.py │ ├── networks_appliance_firewall_firewalled_services.py │ ├── networks_appliance_firewall_firewalled_services_info.py │ ├── networks_appliance_firewall_inbound_firewall_rules.py │ ├── networks_appliance_firewall_inbound_firewall_rules_info.py │ ├── networks_appliance_firewall_l3_firewall_rules.py │ ├── networks_appliance_firewall_l3_firewall_rules_info.py │ ├── networks_appliance_firewall_l7_firewall_rules.py │ ├── networks_appliance_firewall_l7_firewall_rules_application_categories_info.py │ ├── networks_appliance_firewall_l7_firewall_rules_info.py │ ├── networks_appliance_firewall_multicast_forwarding.py │ ├── networks_appliance_firewall_one_to_many_nat_rules.py │ ├── networks_appliance_firewall_one_to_many_nat_rules_info.py │ ├── networks_appliance_firewall_one_to_one_nat_rules.py │ ├── networks_appliance_firewall_one_to_one_nat_rules_info.py │ ├── networks_appliance_firewall_port_forwarding_rules.py │ ├── networks_appliance_firewall_port_forwarding_rules_info.py │ ├── networks_appliance_firewall_settings.py │ ├── networks_appliance_firewall_settings_info.py │ ├── networks_appliance_ports.py │ ├── networks_appliance_ports_info.py │ ├── networks_appliance_prefixes_delegated_statics.py │ ├── networks_appliance_prefixes_delegated_statics_info.py │ ├── networks_appliance_rf_profiles.py │ ├── networks_appliance_rf_profiles_info.py │ ├── networks_appliance_sdwan_internet_policies.py │ ├── networks_appliance_security_intrusion.py │ ├── networks_appliance_security_intrusion_info.py │ ├── networks_appliance_security_malware.py │ ├── networks_appliance_security_malware_info.py │ ├── networks_appliance_settings.py │ ├── networks_appliance_settings_info.py │ ├── networks_appliance_single_lan.py │ ├── networks_appliance_single_lan_info.py │ ├── networks_appliance_ssids.py │ ├── networks_appliance_ssids_info.py │ ├── networks_appliance_traffic_shaping.py │ ├── networks_appliance_traffic_shaping_custom_performance_classes.py │ ├── networks_appliance_traffic_shaping_custom_performance_classes_info.py │ ├── networks_appliance_traffic_shaping_info.py │ ├── networks_appliance_traffic_shaping_rules.py │ ├── networks_appliance_traffic_shaping_rules_info.py │ ├── networks_appliance_traffic_shaping_uplink_bandwidth.py │ ├── networks_appliance_traffic_shaping_uplink_bandwidth_info.py │ ├── networks_appliance_traffic_shaping_uplink_selection.py │ ├── networks_appliance_traffic_shaping_uplink_selection_info.py │ ├── networks_appliance_traffic_shaping_vpn_exclusions.py │ ├── networks_appliance_vlans.py │ ├── networks_appliance_vlans_info.py │ ├── networks_appliance_vlans_settings.py │ ├── networks_appliance_vlans_settings_info.py │ ├── networks_appliance_vpn_bgp.py │ ├── networks_appliance_vpn_bgp_info.py │ ├── networks_appliance_vpn_site_to_site_vpn.py │ ├── networks_appliance_vpn_site_to_site_vpn_info.py │ ├── networks_appliance_warm_spare.py │ ├── networks_appliance_warm_spare_info.py │ ├── networks_appliance_warm_spare_swap.py │ ├── networks_bind.py │ ├── networks_bluetooth_clients_info.py │ ├── networks_camera_quality_retention_profiles.py │ ├── networks_camera_quality_retention_profiles_info.py │ ├── networks_camera_wireless_profiles.py │ ├── networks_camera_wireless_profiles_info.py │ ├── networks_cancel.py │ ├── networks_cellular_gateway_connectivity_monitoring_destinations.py │ ├── networks_cellular_gateway_connectivity_monitoring_destinations_info.py │ ├── networks_cellular_gateway_dhcp.py │ ├── networks_cellular_gateway_dhcp_info.py │ ├── networks_cellular_gateway_subnet_pool.py │ ├── networks_cellular_gateway_subnet_pool_info.py │ ├── networks_cellular_gateway_uplink.py │ ├── networks_cellular_gateway_uplink_info.py │ ├── networks_clients_info.py │ ├── networks_clients_overview_info.py │ ├── networks_clients_policy.py │ ├── networks_clients_policy_info.py │ ├── networks_clients_provision.py │ ├── networks_clients_splash_authorization_status.py │ ├── networks_clients_splash_authorization_status_info.py │ ├── networks_devices_claim.py │ ├── networks_devices_claim_vmx.py │ ├── networks_devices_remove.py │ ├── networks_events_event_types_info.py │ ├── networks_events_info.py │ ├── networks_firmware_upgrades.py │ ├── networks_firmware_upgrades_info.py │ ├── networks_firmware_upgrades_rollbacks.py │ ├── networks_firmware_upgrades_staged_events.py │ ├── networks_firmware_upgrades_staged_events_defer.py │ ├── networks_firmware_upgrades_staged_events_info.py │ ├── networks_firmware_upgrades_staged_events_rollbacks.py │ ├── networks_firmware_upgrades_staged_groups.py │ ├── networks_firmware_upgrades_staged_groups_info.py │ ├── networks_firmware_upgrades_staged_stages.py │ ├── networks_firmware_upgrades_staged_stages_info.py │ ├── networks_floor_plans.py │ ├── networks_floor_plans_auto_locate_jobs_batch.py │ ├── networks_floor_plans_devices_batch_update.py │ ├── networks_floor_plans_info.py │ ├── networks_group_policies.py │ ├── networks_group_policies_info.py │ ├── networks_health_alerts_info.py │ ├── networks_info.py │ ├── networks_insight_applications_health_by_time_info.py │ ├── networks_meraki_auth_users.py │ ├── networks_meraki_auth_users_info.py │ ├── networks_mqtt_brokers.py │ ├── networks_netflow.py │ ├── networks_netflow_info.py │ ├── networks_pii_pii_keys_info.py │ ├── networks_pii_requests_delete.py │ ├── networks_pii_requests_info.py │ ├── networks_pii_sm_devices_for_key_info.py │ ├── networks_pii_sm_owners_for_key_info.py │ ├── networks_policies_by_client_info.py │ ├── networks_publish.py │ ├── networks_recalculate.py │ ├── networks_sensor_alerts_current_overview_by_metric_info.py │ ├── networks_sensor_alerts_overview_by_metric_info.py │ ├── networks_sensor_alerts_profiles.py │ ├── networks_sensor_alerts_profiles_info.py │ ├── networks_sensor_mqtt_brokers.py │ ├── networks_sensor_mqtt_brokers_info.py │ ├── networks_sensor_relationships_info.py │ ├── networks_settings.py │ ├── networks_settings_info.py │ ├── networks_sm_bypass_activation_lock_attempts.py │ ├── networks_sm_bypass_activation_lock_attempts_info.py │ ├── networks_sm_devices_cellular_usage_history_info.py │ ├── networks_sm_devices_certs_info.py │ ├── networks_sm_devices_checkin.py │ ├── networks_sm_devices_connectivity_info.py │ ├── networks_sm_devices_desktop_logs_info.py │ ├── networks_sm_devices_device_command_logs_info.py │ ├── networks_sm_devices_device_profiles_info.py │ ├── networks_sm_devices_fields.py │ ├── networks_sm_devices_info.py │ ├── networks_sm_devices_install_apps.py │ ├── networks_sm_devices_lock.py │ ├── networks_sm_devices_modify_tags.py │ ├── networks_sm_devices_move.py │ ├── networks_sm_devices_network_adapters_info.py │ ├── networks_sm_devices_performance_history_info.py │ ├── networks_sm_devices_reboot.py │ ├── networks_sm_devices_refresh_details.py │ ├── networks_sm_devices_security_centers_info.py │ ├── networks_sm_devices_shutdown.py │ ├── networks_sm_devices_unenroll.py │ ├── networks_sm_devices_uninstall_apps.py │ ├── networks_sm_devices_wipe.py │ ├── networks_sm_devices_wlan_lists_info.py │ ├── networks_sm_profiles_info.py │ ├── networks_sm_target_groups.py │ ├── networks_sm_target_groups_info.py │ ├── networks_sm_trusted_access_configs_info.py │ ├── networks_sm_user_access_devices_delete.py │ ├── networks_sm_user_access_devices_info.py │ ├── networks_sm_users_device_profiles_info.py │ ├── networks_sm_users_info.py │ ├── networks_sm_users_softwares_info.py │ ├── networks_snmp.py │ ├── networks_snmp_info.py │ ├── networks_split.py │ ├── networks_switch_access_control_lists.py │ ├── networks_switch_access_control_lists_info.py │ ├── networks_switch_access_policies.py │ ├── networks_switch_access_policies_info.py │ ├── networks_switch_alternate_management_interface.py │ ├── networks_switch_alternate_management_interface_info.py │ ├── networks_switch_dhcp_server_policy.py │ ├── networks_switch_dhcp_server_policy_arp_inspection_trusted_servers.py │ ├── networks_switch_dhcp_server_policy_arp_inspection_trusted_servers_info.py │ ├── networks_switch_dhcp_server_policy_arp_inspection_warnings_by_device_info.py │ ├── networks_switch_dhcp_server_policy_info.py │ ├── networks_switch_dhcp_v4_servers_seen_info.py │ ├── networks_switch_dscp_to_cos_mappings.py │ ├── networks_switch_dscp_to_cos_mappings_info.py │ ├── networks_switch_link_aggregations.py │ ├── networks_switch_link_aggregations_info.py │ ├── networks_switch_mtu.py │ ├── networks_switch_mtu_info.py │ ├── networks_switch_port_schedules.py │ ├── networks_switch_port_schedules_info.py │ ├── networks_switch_qos_rules_order.py │ ├── networks_switch_qos_rules_order_info.py │ ├── networks_switch_routing_multicast.py │ ├── networks_switch_routing_multicast_info.py │ ├── networks_switch_routing_multicast_rendezvous_points.py │ ├── networks_switch_routing_multicast_rendezvous_points_info.py │ ├── networks_switch_routing_ospf.py │ ├── networks_switch_routing_ospf_info.py │ ├── networks_switch_settings.py │ ├── networks_switch_settings_info.py │ ├── networks_switch_stacks.py │ ├── networks_switch_stacks_add.py │ ├── networks_switch_stacks_info.py │ ├── networks_switch_stacks_remove.py │ ├── networks_switch_stacks_routing_interfaces.py │ ├── networks_switch_stacks_routing_interfaces_dhcp.py │ ├── networks_switch_stacks_routing_interfaces_dhcp_info.py │ ├── networks_switch_stacks_routing_interfaces_info.py │ ├── networks_switch_stacks_routing_static_routes.py │ ├── networks_switch_stacks_routing_static_routes_info.py │ ├── networks_switch_storm_control.py │ ├── networks_switch_storm_control_info.py │ ├── networks_switch_stp.py │ ├── networks_switch_stp_info.py │ ├── networks_syslog_servers.py │ ├── networks_syslog_servers_info.py │ ├── networks_topology_link_layer_info.py │ ├── networks_traffic_analysis.py │ ├── networks_traffic_analysis_info.py │ ├── networks_traffic_shaping_application_categories_info.py │ ├── networks_traffic_shaping_dscp_tagging_options_info.py │ ├── networks_unbind.py │ ├── networks_vlan_profiles.py │ ├── networks_vlan_profiles_assignments_by_device_info.py │ ├── networks_vlan_profiles_assignments_reassign.py │ ├── networks_vlan_profiles_info.py │ ├── networks_webhooks_http_servers.py │ ├── networks_webhooks_http_servers_info.py │ ├── networks_webhooks_payload_templates.py │ ├── networks_webhooks_payload_templates_info.py │ ├── networks_webhooks_webhook_tests_info.py │ ├── networks_wireless_air_marshal_rules.py │ ├── networks_wireless_air_marshal_rules_delete.py │ ├── networks_wireless_air_marshal_rules_update.py │ ├── networks_wireless_air_marshal_settings.py │ ├── networks_wireless_alternate_management_interface.py │ ├── networks_wireless_alternate_management_interface_info.py │ ├── networks_wireless_billing.py │ ├── networks_wireless_billing_info.py │ ├── networks_wireless_bluetooth_settings.py │ ├── networks_wireless_bluetooth_settings_info.py │ ├── networks_wireless_channel_utilization_history_info.py │ ├── networks_wireless_client_count_history_info.py │ ├── networks_wireless_clients_connection_stats_info.py │ ├── networks_wireless_clients_latency_stats_info.py │ ├── networks_wireless_connection_stats_info.py │ ├── networks_wireless_data_rate_history_info.py │ ├── networks_wireless_devices_connection_stats_info.py │ ├── networks_wireless_electronic_shelf_label.py │ ├── networks_wireless_electronic_shelf_label_configured_devices_info.py │ ├── networks_wireless_electronic_shelf_label_info.py │ ├── networks_wireless_ethernet_ports_profiles.py │ ├── networks_wireless_ethernet_ports_profiles_assign.py │ ├── networks_wireless_ethernet_ports_profiles_info.py │ ├── networks_wireless_ethernet_ports_profiles_set_default.py │ ├── networks_wireless_failed_connections_info.py │ ├── networks_wireless_latency_history_info.py │ ├── networks_wireless_latency_stats_info.py │ ├── networks_wireless_mesh_statuses_info.py │ ├── networks_wireless_rf_profiles.py │ ├── networks_wireless_rf_profiles_info.py │ ├── networks_wireless_settings.py │ ├── networks_wireless_settings_info.py │ ├── networks_wireless_signal_quality_history_info.py │ ├── networks_wireless_ssids.py │ ├── networks_wireless_ssids_bonjour_forwarding.py │ ├── networks_wireless_ssids_bonjour_forwarding_info.py │ ├── networks_wireless_ssids_device_type_group_policies.py │ ├── networks_wireless_ssids_device_type_group_policies_info.py │ ├── networks_wireless_ssids_eap_override.py │ ├── networks_wireless_ssids_eap_override_info.py │ ├── networks_wireless_ssids_firewall_l3_firewall_rules.py │ ├── networks_wireless_ssids_firewall_l3_firewall_rules_info.py │ ├── networks_wireless_ssids_firewall_l7_firewall_rules.py │ ├── networks_wireless_ssids_firewall_l7_firewall_rules_info.py │ ├── networks_wireless_ssids_hotspot20.py │ ├── networks_wireless_ssids_hotspot20_info.py │ ├── networks_wireless_ssids_identity_psks.py │ ├── networks_wireless_ssids_identity_psks_info.py │ ├── networks_wireless_ssids_info.py │ ├── networks_wireless_ssids_schedules.py │ ├── networks_wireless_ssids_schedules_info.py │ ├── networks_wireless_ssids_splash_settings.py │ ├── networks_wireless_ssids_splash_settings_info.py │ ├── networks_wireless_ssids_traffic_shaping_rules.py │ ├── networks_wireless_ssids_traffic_shaping_rules_info.py │ ├── networks_wireless_ssids_vpn.py │ ├── networks_wireless_ssids_vpn_info.py │ ├── networks_wireless_usage_history_info.py │ ├── organizations.py │ ├── organizations_action_batches.py │ ├── organizations_action_batches_info.py │ ├── organizations_adaptive_policy_acls.py │ ├── organizations_adaptive_policy_acls_info.py │ ├── organizations_adaptive_policy_groups.py │ ├── organizations_adaptive_policy_groups_info.py │ ├── organizations_adaptive_policy_overview_info.py │ ├── organizations_adaptive_policy_policies.py │ ├── organizations_adaptive_policy_policies_info.py │ ├── organizations_adaptive_policy_settings.py │ ├── organizations_adaptive_policy_settings_info.py │ ├── organizations_admins.py │ ├── organizations_admins_info.py │ ├── organizations_alerts_profiles.py │ ├── organizations_api_requests_info.py │ ├── organizations_api_requests_overview_info.py │ ├── organizations_api_requests_overview_response_codes_by_interval_info.py │ ├── organizations_appliance_dns_local_profiles.py │ ├── organizations_appliance_dns_local_profiles_assignments_bulk_create.py │ ├── organizations_appliance_dns_local_profiles_assignments_bulk_delete.py │ ├── organizations_appliance_dns_local_profiles_assignments_info.py │ ├── organizations_appliance_dns_local_profiles_info.py │ ├── organizations_appliance_dns_local_records.py │ ├── organizations_appliance_dns_local_records_info.py │ ├── organizations_appliance_dns_split_profiles.py │ ├── organizations_appliance_dns_split_profiles_assignments_bulk_create.py │ ├── organizations_appliance_dns_split_profiles_assignments_bulk_delete.py │ ├── organizations_appliance_dns_split_profiles_assignments_info.py │ ├── organizations_appliance_dns_split_profiles_info.py │ ├── organizations_appliance_firewall_multicast_forwarding_by_network_info.py │ ├── organizations_appliance_security_intrusion.py │ ├── organizations_appliance_security_intrusion_info.py │ ├── organizations_appliance_traffic_shaping_vpn_exclusions_by_network_info.py │ ├── organizations_appliance_uplinks_statuses_overview_info.py │ ├── organizations_appliance_uplinks_usage_by_network_info.py │ ├── organizations_appliance_vpn_third_party_vpnpeers.py │ ├── organizations_appliance_vpn_third_party_vpnpeers_info.py │ ├── organizations_appliance_vpn_vpn_firewall_rules.py │ ├── organizations_appliance_vpn_vpn_firewall_rules_info.py │ ├── organizations_assets.py │ ├── organizations_assurance_alerts_dismiss.py │ ├── organizations_assurance_alerts_info.py │ ├── organizations_assurance_alerts_overview_by_network_info.py │ ├── organizations_assurance_alerts_overview_by_type_info.py │ ├── organizations_assurance_alerts_overview_historical_info.py │ ├── organizations_assurance_alerts_overview_info.py │ ├── organizations_assurance_alerts_restore.py │ ├── organizations_branding_policies.py │ ├── organizations_branding_policies_info.py │ ├── organizations_branding_policies_priorities.py │ ├── organizations_branding_policies_priorities_info.py │ ├── organizations_camera_boundaries_areas_by_device_info.py │ ├── organizations_camera_boundaries_lines_by_device_info.py │ ├── organizations_camera_custom_analytics_artifacts.py │ ├── organizations_camera_custom_analytics_artifacts_info.py │ ├── organizations_camera_detections_history_by_boundary_by_interval_info.py │ ├── organizations_camera_permissions_info.py │ ├── organizations_camera_roles.py │ ├── organizations_camera_roles_info.py │ ├── organizations_cellular_gateway_esims_inventory_info.py │ ├── organizations_cellular_gateway_esims_service_providers_accounts.py │ ├── organizations_cellular_gateway_esims_service_providers_accounts_communication_plans_info.py │ ├── organizations_cellular_gateway_esims_service_providers_accounts_info.py │ ├── organizations_cellular_gateway_esims_service_providers_accounts_rate_plans_info.py │ ├── organizations_cellular_gateway_esims_service_providers_info.py │ ├── organizations_cellular_gateway_esims_swap.py │ ├── organizations_cellular_gateway_uplink_statuses_info.py │ ├── organizations_claim.py │ ├── organizations_clients_bandwidth_usage_history_info.py │ ├── organizations_clients_overview_info.py │ ├── organizations_clients_search_info.py │ ├── organizations_clone.py │ ├── organizations_config_templates.py │ ├── organizations_config_templates_info.py │ ├── organizations_config_templates_switch_profiles_info.py │ ├── organizations_config_templates_switch_profiles_ports.py │ ├── organizations_config_templates_switch_profiles_ports_info.py │ ├── organizations_devices_availabilities_change_history_info.py │ ├── organizations_devices_availabilities_info.py │ ├── organizations_devices_controller_migrations.py │ ├── organizations_devices_controller_migrations_info.py │ ├── organizations_devices_details_bulk_update.py │ ├── organizations_devices_info.py │ ├── organizations_devices_overview_by_model_info.py │ ├── organizations_devices_power_modules_statuses_by_device_info.py │ ├── organizations_devices_provisioning_statuses_info.py │ ├── organizations_devices_statuses_info.py │ ├── organizations_devices_statuses_overview_info.py │ ├── organizations_devices_system_memory_usage_history_by_interval_info.py │ ├── organizations_devices_uplinks_addresses_by_device_info.py │ ├── organizations_devices_uplinks_loss_and_latency_info.py │ ├── organizations_early_access_features_info.py │ ├── organizations_early_access_features_opt_ins.py │ ├── organizations_early_access_features_opt_ins_info.py │ ├── organizations_firmware_upgrades_by_device_info.py │ ├── organizations_firmware_upgrades_info.py │ ├── organizations_floor_plans_auto_locate_devices_info.py │ ├── organizations_floor_plans_auto_locate_statuses_info.py │ ├── organizations_info.py │ ├── organizations_insight_applications_info.py │ ├── organizations_insight_monitored_media_servers.py │ ├── organizations_insight_monitored_media_servers_info.py │ ├── organizations_integrations_xdr_networks_disable.py │ ├── organizations_integrations_xdr_networks_enable.py │ ├── organizations_integrations_xdr_networks_info.py │ ├── organizations_inventory_claim.py │ ├── organizations_inventory_devices_info.py │ ├── organizations_inventory_onboarding_cloud_monitoring_export_events.py │ ├── organizations_inventory_onboarding_cloud_monitoring_imports.py │ ├── organizations_inventory_onboarding_cloud_monitoring_imports_info.py │ ├── organizations_inventory_onboarding_cloud_monitoring_networks_info.py │ ├── organizations_inventory_onboarding_cloud_monitoring_prepare.py │ ├── organizations_inventory_release.py │ ├── organizations_licenses.py │ ├── organizations_licenses_assign_seats.py │ ├── organizations_licenses_info.py │ ├── organizations_licenses_move.py │ ├── organizations_licenses_move_seats.py │ ├── organizations_licenses_overview_info.py │ ├── organizations_licenses_renew_seats.py │ ├── organizations_licensing_coterm_licenses_info.py │ ├── organizations_licensing_coterm_licenses_move.py │ ├── organizations_login_security.py │ ├── organizations_login_security_info.py │ ├── organizations_networks_combine.py │ ├── organizations_openapi_spec_info.py │ ├── organizations_policy_objects.py │ ├── organizations_policy_objects_groups.py │ ├── organizations_policy_objects_groups_info.py │ ├── organizations_policy_objects_info.py │ ├── organizations_saml.py │ ├── organizations_saml_idps.py │ ├── organizations_saml_idps_info.py │ ├── organizations_saml_info.py │ ├── organizations_saml_roles.py │ ├── organizations_saml_roles_info.py │ ├── organizations_sensor_readings_history_info.py │ ├── organizations_sensor_readings_latest_info.py │ ├── organizations_sm_admins_roles.py │ ├── organizations_sm_admins_roles_info.py │ ├── organizations_sm_apns_cert_info.py │ ├── organizations_sm_sentry_policies_assignments.py │ ├── organizations_sm_sentry_policies_assignments_by_network_info.py │ ├── organizations_sm_vpp_accounts_info.py │ ├── organizations_snmp.py │ ├── organizations_snmp_info.py │ ├── organizations_splash_themes.py │ ├── organizations_splash_themes_info.py │ ├── organizations_summary_top_appliances_by_utilization_info.py │ ├── organizations_summary_top_applications_by_usage_info.py │ ├── organizations_summary_top_applications_categories_by_usage_info.py │ ├── organizations_summary_top_clients_by_usage_info.py │ ├── organizations_summary_top_clients_manufacturers_by_usage_info.py │ ├── organizations_summary_top_devices_by_usage_info.py │ ├── organizations_summary_top_devices_models_by_usage_info.py │ ├── organizations_summary_top_networks_by_status_info.py │ ├── organizations_summary_top_ssids_by_usage_info.py │ ├── organizations_summary_top_switches_by_energy_usage_info.py │ ├── organizations_switch_devices_clone.py │ ├── organizations_switch_ports_by_switch_info.py │ ├── organizations_switch_ports_clients_overview_by_device_info.py │ ├── organizations_switch_ports_overview_info.py │ ├── organizations_switch_ports_statuses_by_switch_info.py │ ├── organizations_switch_ports_topology_discovery_by_device_info.py │ ├── organizations_switch_ports_usage_history_by_device_by_interval_info.py │ ├── organizations_uplinks_statuses_info.py │ ├── organizations_webhooks_callbacks_statuses_info.py │ ├── organizations_webhooks_logs_info.py │ ├── organizations_wireless_air_marshal_rules_info.py │ ├── organizations_wireless_air_marshal_settings_by_network_info.py │ ├── organizations_wireless_clients_overview_by_device_info.py │ ├── organizations_wireless_controller_availabilities_change_history_info.py │ ├── organizations_wireless_controller_clients_overview_history_by_device_by_interval_info.py │ ├── organizations_wireless_controller_connections_info.py │ ├── organizations_wireless_controller_devices_interfaces_l2_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_l2_statuses_change_history_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_l2_usage_history_by_interval_info.py │ ├── organizations_wireless_controller_devices_interfaces_l3_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_l3_statuses_change_history_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_l3_usage_history_by_interval_info.py │ ├── organizations_wireless_controller_devices_interfaces_packets_overview_by_device_info.py │ ├── organizations_wireless_controller_devices_interfaces_usage_history_by_interval_info.py │ ├── organizations_wireless_controller_devices_redundancy_failover_history_info.py │ ├── organizations_wireless_controller_devices_redundancy_statuses_info.py │ ├── organizations_wireless_controller_devices_system_utilization_history_by_interval_info.py │ ├── organizations_wireless_controller_overview_by_device_info.py │ ├── organizations_wireless_devices_channel_utilization_by_device_info.py │ ├── organizations_wireless_devices_channel_utilization_by_network_info.py │ ├── organizations_wireless_devices_channel_utilization_history_by_device_by_interval_info.py │ ├── organizations_wireless_devices_channel_utilization_history_by_network_by_interval_info.py │ ├── organizations_wireless_devices_ethernet_statuses_info.py │ ├── organizations_wireless_devices_packet_loss_by_client_info.py │ ├── organizations_wireless_devices_packet_loss_by_device_info.py │ ├── organizations_wireless_devices_packet_loss_by_network_info.py │ ├── organizations_wireless_devices_power_mode_history_info.py │ ├── organizations_wireless_devices_system_cpu_load_history_info.py │ ├── organizations_wireless_devices_wireless_controllers_by_device_info.py │ ├── organizations_wireless_radio_auto_rf_channels_recalculate.py │ ├── organizations_wireless_rf_profiles_assignments_by_device_info.py │ ├── organizations_wireless_ssids_firewall_isolation_allowlist_entries.py │ ├── organizations_wireless_ssids_firewall_isolation_allowlist_entries_info.py │ └── organizations_wireless_ssids_statuses_by_device_info.py └── plugin_utils │ ├── __init__.py │ ├── exceptions.py │ └── meraki.py ├── requirements.txt ├── scripts └── sublime-build │ └── requirements.txt └── workflows ├── docs.yml └── sanity_tests.yml /.ansible-lint: -------------------------------------------------------------------------------- 1 | # exclude_paths included in this file are parsed relative to this file's location 2 | # and not relative to the CWD of execution. CLI arguments passed to the --exclude 3 | # option are parsed relative to the CWD of execution. 4 | exclude_paths: 5 | - workflows/ 6 | - .github/ 7 | - .ansible-lint -------------------------------------------------------------------------------- /.ansible-lint-ignore: -------------------------------------------------------------------------------- 1 | workflows/docs.yml yaml[truthy] 2 | workflows/docs.yml yaml[new-line-at-end-of-file] 3 | workflows/docs.yml yaml[line-length] 4 | workflows/docs.yml yaml[new-line-at-end-of-file] 5 | workflows/sanity_tests.yml yaml[truthy] 6 | workflows/ansible-lint.yml yaml[new-line-at-end-of-file] 7 | .github/workflows/ansible-lint.yml yaml[new-line-at-end-of-file] 8 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/ansible-lint.yml 2 | name: ansible-lint 3 | on: 4 | pull_request: 5 | branches: ["main", "stable", "release/v*"] 6 | jobs: 7 | build: 8 | name: Ansible Lint # Naming the build is important to use it as a status check 9 | runs-on: ubuntu-24.04 10 | steps: 11 | - uses: actions/checkout@v4 12 | - name: Run ansible-lint 13 | uses: ansible/ansible-lint@main 14 | with: 15 | args: "" 16 | setup_python: "true" 17 | working_directory: "" 18 | requirements_file: "" 19 | -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- 1 | name: docs 2 | 3 | on: 4 | push: 5 | tags: 6 | - v[0-9]+.[0-9]+.[0-9]+ 7 | branches: 8 | - main 9 | 10 | jobs: 11 | docs: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | - name: configure git 16 | run: | 17 | git config user.name "${GITHUB_ACTOR}" 18 | git config user.email "${GITHUB_ACTOR}@bots.github.com" 19 | git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/* 20 | - name: Set up Python 21 | uses: actions/setup-python@v5 22 | with: 23 | python-version: "3.8" 24 | - name: Install dependencies 25 | run: | 26 | pip install antsibull-docs 27 | make doc-setup 28 | - name: Build docs 29 | run: make doc 30 | - name: commit docs 31 | run: | 32 | git checkout gh-pages || git checkout -b gh-pages 33 | rm -rf $(basename ${GITHUB_REF}) 34 | mv docs/_build/html $(basename ${GITHUB_REF}) 35 | git show origin/main:docs/_gh_include/header.inc > index.html 36 | (echo main; dirname v*/index.html | sort --version-sort --reverse) \ 37 | | xargs -I@@ \ 38 | -n1 echo '
' >> index.html 40 | git show origin/main:docs/_gh_include/footer.inc >> index.html 41 | git add $(basename ${GITHUB_REF}) index.html 42 | git commit -m "update docs for $(basename ${GITHUB_REF})" || true 43 | - name: push docs 44 | run: git push origin gh-pages 45 | -------------------------------------------------------------------------------- /.github/workflows/sanity_tests.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | on: 3 | push: 4 | branches: [main] 5 | pull_request: 6 | schedule: 7 | - cron: '0 6 * * *' 8 | env: 9 | NAMESPACE: cisco 10 | COLLECTION_NAME: meraki 11 | jobs: 12 | sanity: 13 | name: Sanity (Ⓐ${{ matrix.ansible }}) 14 | strategy: 15 | matrix: 16 | ansible: 17 | - stable-2.17 18 | - stable-2.18 19 | - stable-2.19 20 | - devel 21 | runs-on: ubuntu-22.04 22 | steps: 23 | - name: Check out code 24 | uses: actions/checkout@v3 25 | with: 26 | path: meraki/dashboard-api-ansible 27 | - name: Create directory 28 | run: mkdir -p ./ansible_collections/${{env.NAMESPACE}} 29 | - name: Move repository 30 | run: mv ./meraki/dashboard-api-ansible ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} 31 | - name: Set up Python 32 | uses: actions/setup-python@v3 33 | with: 34 | python-version: '3.11' 35 | - name: Install ansible-base (${{ matrix.ansible }}) 36 | run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check 37 | - name: Run sanity tests 38 | run: ansible-test sanity --docker -v --color 39 | working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} 40 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | autopep8.sh 2 | tmp/* 3 | __pycache__/ 4 | .vscode/ 5 | .tmp 6 | .cache 7 | *.retry 8 | tests/test_playbooks/vars/server.yml 9 | __pycache__ 10 | *.pyc 11 | *.pyo 12 | *.swp 13 | *.tar.gz 14 | .pytest_cache/ 15 | .mypy_cache/ 16 | venv/ 17 | /build/ 18 | docs/plugins/ 19 | docs/_build/ 20 | changelogs/.plugin-cache.yaml 21 | playbooks/credentials.yml 22 | .DS_Store -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | NAMESPACE := $(shell python -c 'import yaml; print(yaml.safe_load(open("galaxy.yml"))["namespace"])') 2 | NAME := $(shell python -c 'import yaml; print(yaml.safe_load(open("galaxy.yml"))["name"])') 3 | VERSION := $(shell python -c 'import yaml; print(yaml.safe_load(open("galaxy.yml"))["version"])') 4 | MANIFEST := build/collections/ansible_collections/$(NAMESPACE)/$(NAME)/MANIFEST.json 5 | 6 | PLUGIN_TYPES := $(filter-out __%,$(notdir $(wildcard plugins/*))) 7 | METADATA := galaxy.yml LICENSE README.md meta/runtime.yml requirements.txt changelogs/changelog.yaml 8 | $(foreach PLUGIN_TYPE,$(PLUGIN_TYPES),$(eval _$(PLUGIN_TYPE) := $(filter-out %__init__.py,$(wildcard plugins/$(PLUGIN_TYPE)/*.py)))) 9 | DEPENDENCIES := $(METADATA) $(foreach PLUGIN_TYPE,$(PLUGIN_TYPES),$(_$(PLUGIN_TYPE))) $(foreach ROLE,$(ROLES),$(wildcard $(ROLE)/*/*)) $(foreach ROLE,$(ROLES),$(ROLE)/README.md) 10 | 11 | COLLECTION_COMMAND ?= ansible-galaxy 12 | TEST = 13 | FLAGS = 14 | 15 | 16 | default: help 17 | help: 18 | @echo "Please use \`make