⚡
FLASH SALE
— 30% OFF Yearly Network Automation Memberships! Use code
SALE30
at checkout. Offer ends August 20th.
➜ Sign up here
Training
Bootcamp
Courses
Tech Sessions
Resources
Blog
Tips
GitHub
YouTube
Newsletter
Playgrounds
Pricing
Sign In
Become Member
TTP Parser
Validate and test the parsing of your TTP templates
Tools
J2 Renderer
TTP Parser
TextFSM Parser
XPath Tester
Members Only
JMESPath Validator
JSON Schema Validator
Data Format Converter
TTP Template
"""Nautobot Job to update an Address Object in the Firewall Data Model""" from typing import override from nautobot.apps.jobs import BooleanVar, register_jobs from nautobot_ssot.jobs.base import DataSource from nautobot_ssot_firewall_policies.diffsync.adapters.fmanager import FortiManagerFWRulesAdapter from nautobot_ssot_firewall_policies.diffsync.adapters.nautobot import NautobotFWRulesAdapter name = "Nautobot SSOT App - Sync Firewall Policies" class FortiManagerDataSource(DataSource): "SSOT Data Source." use_cache = BooleanVar(description="Use cache file if available for FortiManager Data") class Meta: name: str = "FortiManager into Nautobot" data_source: str = "FortiManager" data_target: str = "Nautobot" description: str = "Sync data from FortiManager into Nautobot" has_sensitive_variables: bool = False soft_time_limit: int = 7200 time_limit: int = 7500 @override def load_source_adapter(self): self.logger.debug(msg="Creating Source Adapter: FortiManagerFWRulesAdapter") self.source_adapter = FortiManagerFWRulesAdapter(job=self, use_cache=self.use_cache) self.logger.debug(msg="Loading Data from Source Adapter") self.source_adapter.load() self.logger.debug(msg="Source Adapter Loaded") @override def load_target_adapter(self): self.logger.debug("Creating Target Adapter: NautobotFWRulesAdapter") self.target_adapter = NautobotFWRulesAdapter(job=self) self.logger.debug("Loading Data from Target Adapter") self.target_adapter.load() self.logger.debug("Target Data Loaded") @override def run(self, use_cache, dryrun, memory_profiling, *args, **kwargs): self.use_cache = use_cache self.dryrun = dryrun self.memory_profiling = memory_profiling super().run(dryrun=self.dryrun, memory_profiling=self.memory_profiling, **kwargs) jobs = [FortiManagerDataSource] register_jobs(*jobs)
0
/ 20000
Raw Text
NAM
0
/ 20000
Result
[ {} ]
Parse
Share
Auto-Sync