Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support of External Validation Services #27

Open
jvanderaa opened this issue Oct 21, 2022 · 5 comments
Open

Support of External Validation Services #27

jvanderaa opened this issue Oct 21, 2022 · 5 comments
Labels
enhancement New feature or request

Comments

@jvanderaa
Copy link

Environment

  • Nautobot version:
  • nautobot-data-validation-engine version:

Proposed Functionality

Support External Validation Services

Use Case

As an organization that operates a micro service to validate names of devices, I wish to be able to have the validation plugin reach out to these services to complete validations.

@lampwins
Copy link
Member

lampwins commented Nov 3, 2022

What is the expected flow? Would you want to call such an external service directly at save time in nautobot?

What would be the expectation upon failure in the call to the external service? Would you want to raise a validation error and prevent the save?

@jvanderaa
Copy link
Author

  1. At the point in the regex check, replace with a function that makes an external call, resulting in a pass fail, allowing for custom default. Allow for the function itself to determine what to do on a fail, with a possibility of a validation error.

@lampwins
Copy link
Member

@jvanderaa should Nautobot define the contract for the REST call or does it need to be extensible like webhooks? Can we iterate on that?

@jvanderaa
Copy link
Author

I'm not exactly sure what is being asked here on this part. I don't know that Nautobot should define the contact for anything, allowing for flexibility. What would be needed from the Data Validation plugin? Would we need it to define that?

@jvanderaa
Copy link
Author

Giving a little bit more of a thought, could we do something similar to ChatOps, where we can register a sub-plugin that has the validation logic (maybe a call to 3rd party system). Then there is a service requirement that the system return certain data, likely a boolean true/false for the validation succeeding. That this needs to respond in a N amount of time.

The two use cases:

  • Name validation service, has a REST endpoint
  • IPAM validation, a check of a routing table of a host before allocating an IP prefix

@DistantVoyager DistantVoyager added the enhancement New feature or request label May 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants