{'author': 'marcus.klein@iteratio.com',
 'description': 'Rubrik REST API Special Agent\n'
                '\n'
                'Connects to Rubrik Security Cloud (RSC) via GraphQL, creates '
                'piggyback data for nodes and clusters, and provides the '
                'following checks:\n'
                '* Cluster System Status\n'
                '* Compliance 24 Hours (cluster-side)\n'
                '* Disk\n'
                '* Node Hardware Health\n'
                '* Node Status (node-side)\n'
                '* Bandwidth\n'
                '* Storage Runway\n'
                '* Event Logwatch\n'
                '\n'
                'Since version 1.5.0, the agent uses Rubrik Security Cloud '
                '(RSC) GraphQL exclusively. Rules for the legacy integration '
                'must be recreated.\n'
                '\n'
                'Monitor a single cluster by name or UUID, or use SaaS mode to '
                'monitor all clusters visible to the service account. Dynamic '
                'Host Configuration is recommended to create node hosts '
                'automatically, and cluster hosts in SaaS mode.\n'
                '\n'
                'Event Logwatch is reported on the querying host and requires '
                'at least one configured event filter. Event state is stored '
                'separately for each querying host and cluster UUID. Storage '
                'Runway reports the estimated remaining capacity in days; '
                'unavailable values result in UNKNOWN.\n'
                '\n'
                'The Rubrik Node Hardware Health ruleset provides a selection '
                'of known policies that can be ignored or mapped to OK, WARN, '
                'or CRIT when unhealthy. Other policies remain monitored, and '
                'original findings stay visible in the service details.\n'
                '\n'
                'Host label for cluster hosts:\n'
                '* rubrikDevice:cluster\n'
                '\n'
                'Host label for node hosts:\n'
                '* rubrikDevice:node\n'
                '\n'
                'Acknowledgements:\n'
                'Thanks to my colleague Mathias for his helpful suggestions '
                'and support in keeping the code clean.\n'
                'Thanks to Leon Buhleier (Leon.Buhleier@sva.de) for '
                'contributing the metric translation fix for correct scaling '
                'of Rubrik Disk graphs.\n'
                'Thanks to Sebastian Häger (Sebastian.Haeger@sva.de) for '
                'contributing version 1.5.3: Event Logwatch with filters, '
                'configurable request timeout, and SaaS-wide cluster '
                'monitoring with cluster piggyback hosts.\n'
                '\n'
                'Changelog\n'
                '\n'
                '0.1.0 Initial version\n'
                '0.2.0 Special agent operational\n'
                '0.3.0 Added additional API endpoints\n'
                '0.3.1 Added further API endpoints\n'
                '0.4.0 Added piggyback output\n'
                '0.4.5 Added System Status check\n'
                '0.5.0 Added hardware health monitoring for partitions and '
                'FRUs\n'
                '0.6.0 Added Disk check\n'
                '0.6.1 Cleaned up default values\n'
                '0.7.0 Added Node Status and Compliance Report checks\n'
                '0.8.0 Normalized naming\n'
                '0.9.0 Added filesystem levels\n'
                '0.9.2 Updated description\n'
                '0.9.3 Fixed import\n'
                '0.9.5 Added type annotations by mgo\n'
                '0.9.6 Added Checkmk 2.2.0 compatibility\n'
                '0.9.7 Adjusted hardware health parsing\n'
                '0.9.8 Added snapshot thresholds\n'
                '0.9.9 Added metrics for the Compliance Report service\n'
                '1.0.0 Applied minor patches\n'
                '1.1.0 Consolidated special agent endpoint requests\n'
                '1.1.1 Fixed node disk status parser\n'
                '1.1.2 Added check man pages\n'
                '1.2.0 Added service selection options\n'
                '1.2.1 Ensured tokens are deleted after execution\n'
                '1.2.2 Added handling for tokens that are already in use\n'
                '1.2.3 Added special agent errors to the Check_MK service '
                'output\n'
                '1.3.0 Temporarily ignored SSD life-left output in Node '
                'Hardware Health\n'
                '1.4.0 Ported to Checkmk 2.4.0\n'
                '1.4.1 Added a migration function for existing rulesets\n'
                '1.4.2 Refactored and cleaned up the code\n'
                '1.4.3 Set the minimum required Checkmk version to 2.3.0b1\n'
                '1.4.3-p1 Fixed Rubrik Disk graph scaling with filesystem '
                'metric translation, contributed by Leon Buhleier '
                '(Leon.Buhleier@sva.de)\n'
                '1.5.0 Switched the Rubrik special agent to RSC GraphQL-only '
                'mode, added mandatory cluster selection by cluster name or '
                'UUID, added secure password-store secret resolution, ensured '
                'RSC session tokens are deleted after use, enabled SSL '
                'certificate verification by default with explicit opt-out '
                'support, fixed degraded disk mapping for raidStatus values '
                'NONE and OPTIMAL, improved Node Hardware Health policy '
                'details, and fixed singleton section parsing for duplicate '
                'piggyback sources.\n'
                '1.5.1 Added Rubrik Bandwidth check\n'
                '1.5.2 Fixed the section list in the special agent rule\n'
                '1.5.3 Added Event Logwatch with filters, configurable request '
                'timeout, and SaaS-wide cluster monitoring with cluster '
                'piggyback hosts, contributed by Sebastian Häger '
                '(Sebastian.Haeger@sva.de) - #34\n'
                '1.5.4 Code optimizing, bug fixes\n'
                '1.5.5 Fixed bandwidth query, restored Storage section '
                'selection with UNKNOWN handling for missing runway data, and '
                'hardened event handling with required filters and temporary '
                'state storage.\n'
                '1.5.6 Added selectable hardware health policy exceptions '
                '(Ignore/OK/WARN/CRIT), preserved monitoring of other '
                'components, and clarified Event Logwatch filter '
                'requirements.\n'
                '1.5.7 Fixed Event Logwatch state isolation by querying host '
                'and cluster UUID, including SaaS cluster switching.\n'
                '1.5.8 Unified node piggyback IDs, deferred event cursor '
                'updates until successful output, handled null event fields '
                'and ISO-8601 timestamps, fixed duplicate cluster status '
                'parsing, and restored correct Disk graph scaling.\n',
 'download_url': 'https://github.com/iteratio-com/Exchange/tree/main/Rubrik_special_agent',
 'files': {'cmk_addons_plugins': ['rubrik_agent/agent_based/rubrik_bandwidth.py',
                                  'rubrik_agent/agent_based/rubrik_cluster_report_compliance_24_hours.py',
                                  'rubrik_agent/agent_based/rubrik_cluster_system_status.py',
                                  'rubrik_agent/agent_based/rubrik_node_disk_status.py',
                                  'rubrik_agent/agent_based/rubrik_node_hardware_status.py',
                                  'rubrik_agent/agent_based/rubrik_node_status.py',
                                  'rubrik_agent/agent_based/utils/rubrik_api.py',
                                  'rubrik_agent/checkman/rubrik_bandwidth',
                                  'rubrik_agent/checkman/rubrik_cluster_compliance_24_hours',
                                  'rubrik_agent/checkman/rubrik_cluster_system_status',
                                  'rubrik_agent/checkman/rubrik_node',
                                  'rubrik_agent/checkman/rubrik_node_disk',
                                  'rubrik_agent/checkman/rubrik_node_hardware_health',
                                  'rubrik_agent/graphing/rubrik.py',
                                  'rubrik_agent/libexec/agent_rubrik',
                                  'rubrik_agent/rulesets/check_parameters_rubrik_report_compliance.py',
                                  'rubrik_agent/rulesets/special_agent_rubrik.py',
                                  'rubrik_agent/server_side_calls/special_agent_rubrik.py',
                                  'rubrik_agent/agent_based/rubrik_storage.py',
                                  'rubrik_agent/checkman/rubrik_storage',
                                  'rubrik_agent/rulesets/check_parameters_rubrik_node_hardware_health.py']},
 'name': 'rubrik_agent',
 'title': 'Rubrik REST API Special Agent',
 'version': '1.5.8',
 'version.min_required': '2.3.0b1',
 'version.packaged': 'cmk-mkp-tool 3.0.0',
 'version.usable_until': None}
