mirror of
				https://github.com/checktheroads/hyperglass
				synced 2024-05-11 05:55:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			823 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			823 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Structured data configuration variables."""
 | 
						|
 | 
						|
# Standard Library
 | 
						|
from typing import List
 | 
						|
 | 
						|
# Third Party
 | 
						|
from pydantic import StrictStr, constr
 | 
						|
 | 
						|
# Local
 | 
						|
from ..main import HyperglassModel
 | 
						|
 | 
						|
StructuredCommunityMode = constr(regex=r"(permit|deny)")
 | 
						|
StructuredRPKIMode = constr(regex=r"(router|external)")
 | 
						|
 | 
						|
 | 
						|
class StructuredCommunities(HyperglassModel):
 | 
						|
    """Control structured data response for BGP communties."""
 | 
						|
 | 
						|
    mode: StructuredCommunityMode = "deny"
 | 
						|
    items: List[StrictStr] = []
 | 
						|
 | 
						|
 | 
						|
class StructuredRpki(HyperglassModel):
 | 
						|
    """Control structured data response for RPKI state."""
 | 
						|
 | 
						|
    mode: StructuredRPKIMode = "router"
 | 
						|
 | 
						|
 | 
						|
class Structured(HyperglassModel):
 | 
						|
    """Control structured data responses."""
 | 
						|
 | 
						|
    communities: StructuredCommunities = StructuredCommunities()
 | 
						|
    rpki: StructuredRpki = StructuredRpki()
 |