Enasis Network Orchestrations#
Documentation Welcome#
Welcome to the project documentation. Below you will find the most common functions and classes within the library, but you may click your way further into the project from there. You can also view the source code.Orche#
- class orchestro.orche.Orche(config: OrcheConfig)[source]#
Bases:
objectInteract with chat networks and integrate using plugins.
- Parameters:
config – Primary class instance for configuration.
- property config: OrcheConfig#
Return the Config instance containing the configuration.
- Returns:
Config instance containing the configuration.
- property logger: OrcheLogger#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property jinja2: OrcheJinja2#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property childs: OrcheChilds#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property params: OrcheParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- property console: bool#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property debug: bool#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property dryrun: bool#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property kvparsed: dict[str, Any]#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property kvopaque: dict[str, Any]#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property dumped: dict[str, Any]#
Return the facts about the attributes from the instance.
- Returns:
Facts about the attributes from the instance.
- j2parse(value: Any, statics: dict[str, Any] | None = None, literal: bool = True) Any[source]#
Return the provided input using the Jinja2 environment.
- Parameters:
value – Input that will be processed and returned.
statics – Additional values available for parsing.
literal – Determine if Python objects are evaled.
- Returns:
Provided input using the Jinja2 environment.
- class orchestro.orche.OrcheConfig(sargs: dict[str, Any] | None = None, files: str | Path | list[str | Path] | list[str] | list[Path] | tuple[str | Path, ...] | set[str] | None = None, paths: str | Path | list[str | Path] | list[str] | list[Path] | tuple[str | Path, ...] | set[str] | None = None, cargs: dict[str, Any] | None = None)[source]#
Bases:
ConfigContain the configurations from the arguments and files.
- Parameters:
sargs – Additional arguments on the command line.
files – Complete or relative path to config files.
paths – Complete or relative path to config paths.
cargs – Configuration arguments in dictionary form, which will override contents from the config files.
- property params: OrcheParams#
Return the Pydantic model containing the configuration.
Warning
This method completely overrides the parent but is based on that code, would be unfortunate if upstream changes meant this breaks or breaks something else.
- Returns:
Pydantic model containing the configuration.
Orche Parameters#
- class orchestro.orche.params.OrcheParams[source]#
Bases:
ParamsProcess and validate the core configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
FalseNo
'sqlite:///:memory:'min_length=1
No
FalseNo
FalseenconfigNo
NoneencryptsNo
NoneenloggerNo
Nonedict[str,OrcheGroupParams] |NoneNo
Nonemin_length=1
No
factory
min_length=0
No
factory
min_length=0
dict[str,OrchePersonParams] |NoneNo
Nonemin_length=1
dict[str,OrcheSubnetParams] |NoneNo
Nonemin_length=1
dict[str,OrcheSystemParams] |NoneNo
Nonemin_length=1
- database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])]#
- console: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Output console information; parameter is parsed by and used in low-level config')]#
- debug: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Enable logging level debug; parameter is parsed by and used in low-level config')]#
- dryrun: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Whether to allow changes')]#
- systems: Annotated[dict[str, OrcheSystemParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Orche systems', metadata=[MinLen(min_length=1)])]#
- persons: Annotated[dict[str, OrchePersonParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Orche persons', metadata=[MinLen(min_length=1)])]#
- subnets: Annotated[dict[str, OrcheSubnetParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Orche subnets', metadata=[MinLen(min_length=1)])]#
- groups: Annotated[dict[str, OrcheGroupParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Orche groups', metadata=[MinLen(min_length=1)])]#
- class orchestro.orche.params.OrcheGroupParams[source]#
Bases:
OrcheChildParamsProcess and validate the Orche configuration parameters.
Fields# Field
Type
Required
Default
Constraints
aboutNo
Nonemin_length=1
No
NonedisplayNo
Nonemin_length=1
enableNo
FalseinheritsNo
Nonemin_length=1
kvopaqueNo
factory
min_length=0
kvparsedNo
factory
min_length=0
memberofNo
Nonemin_length=1
Literal[‘domain’, ‘local’, ‘site’, ‘zone’, ‘ansible’, ‘psuedo’]No
'ansible'- realm: Annotated[Literal['domain', 'local', 'site', 'zone', 'ansible', 'psuedo'], FieldInfo(annotation=NoneType, required=False, default='ansible', description='Logical realm for the object')]#
- ansible: Annotated[OrcheGroupAnsibleParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Variables provided to Ansible')]#
- class orchestro.orche.params.OrchePersonParams[source]#
Bases:
OrcheChildParamsProcess and validate the Orche configuration parameters.
Fields# Field
Type
Required
Default
Constraints
aboutNo
Nonemin_length=1
displayNo
Nonemin_length=1
No
Nonemin_length=1
enableNo
FalseNo
Nonemin_length=1
inheritsNo
Nonemin_length=1
kvopaqueNo
factory
min_length=0
kvparsedNo
factory
min_length=0
No
Nonemin_length=1
memberofNo
Nonemin_length=1
Literal[‘domain’, ‘local’, ‘psuedo’]No
'psuedo'- realm: Annotated[Literal['domain', 'local', 'psuedo'], FieldInfo(annotation=NoneType, required=False, default='psuedo', description='Logical realm for the object')]#
- domain: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Domain to which child belongs', metadata=[MinLen(min_length=1)])]#
- class orchestro.orche.params.OrcheSubnetParams[source]#
Bases:
OrcheChildParamsProcess and validate the Orche configuration parameters.
Fields# Field
Type
Required
Default
Constraints
aboutNo
Nonemin_length=1
displayNo
Nonemin_length=1
enableNo
FalseNo
Nonemin_length=1
inheritsNo
Nonemin_length=1
kvopaqueNo
factory
min_length=0
kvparsedNo
factory
min_length=0
No
Nonemin_length=2, max_length=2, pattern=``^[da-fA-F]+$``
memberofNo
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
Yes
min_length=1
- subnet: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='IPv4 or IPv6 network subnet', metadata=[MinLen(min_length=1)])]#
- macpref: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Optional prefix for MAC address', metadata=[MinLen(min_length=2), MaxLen(max_length=2), _PydanticGeneralMetadata(pattern='^[\\da-fA-F]+$')])]#
- gateway: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Optional gateway for the subnet', metadata=[MinLen(min_length=1)])]#
- class orchestro.orche.params.OrcheSystemParams[source]#
Bases:
OrcheChildParamsProcess and validate the Orche configuration parameters.
Fields# Field
Type
Required
Default
Constraints
aboutNo
Nonemin_length=1
No
NonedisplayNo
Nonemin_length=1
No
Nonemin_length=1
enableNo
FalseinheritsNo
Nonemin_length=1
kvopaqueNo
factory
min_length=0
kvparsedNo
factory
min_length=0
memberofNo
Nonemin_length=1
Literal[‘ansible’, ‘psuedo’]No
'ansible'- realm: Annotated[Literal['ansible', 'psuedo'], FieldInfo(annotation=NoneType, required=False, default='ansible', description='Logical realm for the object')]#
- domain: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Domain to which child belongs', metadata=[MinLen(min_length=1)])]#
- ansible: Annotated[OrcheSystemAnsibleParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Variables provided to Ansible')]#
Orche Children#
- class orchestro.orche.childs.OrcheChild(orche: Orche, name: str, params: OrcheChildParams)[source]#
Bases:
objectParent object for child objects within the project base.
- Parameters:
orche – Primary class instance for Orchestrations.
name – Name of the object within the Orche config.
params – Parameters used to instantiate the class.
- validate() None[source]#
Perform advanced validation on the parameters provided.
Note
Works differently than other projects because these children all have one common attribute between them.
- property orche: Orche#
Return the Orche instance to which the instance belongs.
- Returns:
Orche instance to which the instance belongs.
- property enable: bool#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property name: str#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property kind: OrcheKinds#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property params: OrcheChildParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- property inherits: list[str] | None#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property display: str#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property about: str | None#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property memberof: list[str] | None#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property kvparsed: dict[str, Any]#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property kvopaque: dict[str, Any]#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property groups: list[OrcheGroup]#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- class orchestro.orche.childs.OrcheChilds(orche: Orche)[source]#
Bases:
objectContain the object instances for related Orche children.
- Parameters:
orche – Primary class instance for Orchestrations.
- property systems: dict[str, OrcheSystem]#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property persons: dict[str, OrchePerson]#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property subnets: dict[str, OrcheSubnet]#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property groups: dict[str, OrcheGroup]#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- class orchestro.orche.childs.OrcheSystem(orche: Orche, name: str, params: OrcheChildParams)[source]#
Bases:
OrcheChildIntegrate with the Orche routine and perform operations.
- validate() None[source]#
Perform advanced validation on the parameters provided.
Note
Works differently than other projects because these children all have one common attribute between them.
- property kind: Literal['system']#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property params: OrcheSystemParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- property realm: str | None#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property domain: str | None#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property fqdn: str#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- class orchestro.orche.childs.OrchePerson(orche: Orche, name: str, params: OrcheChildParams)[source]#
Bases:
OrcheChildContain the properties regarding the actual user person.
- validate() None[source]#
Perform advanced validation on the parameters provided.
Note
Works differently than other projects because these children all have one common attribute between them.
- property kind: Literal['person']#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property params: OrchePersonParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- property realm: str | None#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property domain: str | None#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property fqdn: str#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- class orchestro.orche.childs.OrcheSubnet(orche: Orche, name: str, params: OrcheChildParams)[source]#
Bases:
OrcheChildIntegrate with the Orche routine and perform operations.
- validate() None[source]#
Perform advanced validation on the parameters provided.
Note
Works differently than other projects because these children all have one common attribute between them.
- property kind: Literal['subnet']#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property params: OrcheSubnetParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- property subnet: str#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property dumped: dict[str, Any]#
Return the facts about the attributes from the instance.
- Returns:
Facts about the attributes from the instance.
- address(address: str) OrcheSubnetAddress[source]#
Return the facts about the attributes from the instance.
- Returns:
Facts about the attributes from the instance.
- class orchestro.orche.childs.OrcheGroup(orche: Orche, name: str, params: OrcheChildParams)[source]#
Bases:
OrcheChildIntegrate with the Orche routine and perform operations.
- validate() None[source]#
Perform advanced validation on the parameters provided.
Note
Works differently than other projects because these children all have one common attribute between them.
- property kind: Literal['group']#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
- property params: OrcheGroupParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- property members: list[OrcheChild]#
Return the members that have declared group membership.
- Returns:
Members that have declared group membership.
- property realm: str | None#
Return the value for the attribute from class instance.
- Returns:
Value for the attribute from class instance.
Orche Add-ons#
- class orchestro.orche.addons.OrcheJinja2(orche: Orche)[source]#
Bases:
Jinja2Parse the provided input and intelligently return value.
- Parameters:
orche – Primary class instance for Orchestrations.
- class orchestro.orche.addons.OrcheLogger(orche: Orche)[source]#
Bases:
objectMethods for extending use of underlying logging library.
- Parameters:
orche – Primary class instance for Orchestrations.
- log(**kwargs: Any) None[source]#
Pass the provided keyword arguments into logger object.
Note
Uses method
encommon.config.Logger.log().- Parameters:
kwargs – Keyword arguments for populating message.
- log_c(**kwargs: Any) None[source]#
Pass the provided keyword arguments into logger object.
Note
Uses method
encommon.config.Logger.log_c().- Parameters:
kwargs – Keyword arguments for populating message.
- log_d(**kwargs: Any) None[source]#
Pass the provided keyword arguments into logger object.
Note
Uses method
encommon.config.Logger.log_d().- Parameters:
kwargs – Keyword arguments for populating message.
- log_e(**kwargs: Any) None[source]#
Pass the provided keyword arguments into logger object.
Note
Uses method
encommon.config.Logger.log_e().- Parameters:
kwargs – Keyword arguments for populating message.
- log_i(**kwargs: Any) None[source]#
Pass the provided keyword arguments into logger object.
Note
Uses method
encommon.config.Logger.log_i().- Parameters:
kwargs – Keyword arguments for populating message.
- log_w(**kwargs: Any) None[source]#
Pass the provided keyword arguments into logger object.
Note
Uses method
encommon.config.Logger.log_w().- Parameters:
kwargs – Keyword arguments for populating message.
Orche Examples#
---
groups:
#######################
## Default Inventory ##
#######################
default:
enable: false
display: Default Inventory
Groups#
---
groups:
#####################
## Homie Inventory ##
#####################
enasisnetwork_enhomie:
enable: true
memberof: default
display: Homie Automate
#######################
## Ansible Variables ##
#######################
ansible:
####################
## Homie Automate ##
####################
enhomie_unique: default
#enhomie_directory
enhomie_repository: >-
https://github.com/enasisnetwork/enhomie-conf
enhomie_logging: true
enhomie_console: false
---
groups:
#####################
## Robie Inventory ##
#####################
enasisnetwork_enrobie:
enable: true
memberof: default
display: Chatting Robie
#######################
## Ansible Variables ##
#######################
ansible:
####################
## Chatting Robie ##
####################
enrobie_unique: default
#enrobie_directory
enrobie_repository: >-
https://github.com/enasisnetwork/enrobie-conf
enrobie_logging: true
enrobie_console: false
---
groups:
#####################
## SSLCA Inventory ##
#####################
enasisnetwork_sslca:
enable: true
display: Certificate Authority
#######################
## Ansible Variables ##
#######################
ansible:
###########################
## Certificate Authority ##
###########################
sslca_defaults:
company: Enasis Network Development
department: Certificate Authority
country: US
website: http://pki.enasis.net
sslca_persist:
rootkeys: /path/to/rootkeys
rootfiles: /path/to/rootfiles
certkeys: /path/to/certkeys
certfiles: /path/to/certfiles
sslca_authority:
genesis:
password: thisisanexample
expire: '+10y'
system:
password: thisisanexample
expire: '+10y'
parent: genesis
person:
password: thisisanexample
expire: '+10y'
parent: genesis
---
groups:
######################
## Saturn Inventory ##
######################
saturn:
enable: true
memberof: default
display: Saturn Inventory
---
groups:
#######################
## AlmaLinux Systems ##
#######################
systems_almalinux:
enable: true
memberof: systems
display: AlmaLinux
---
groups:
####################
## Fedora Systems ##
####################
systems_fedora:
enable: true
memberof: systems
display: Fedora
---
groups:
#####################
## OpenBSD Systems ##
#####################
systems_openbsd:
enable: true
memberof: systems
display: OpenBSD
---
groups:
#####################
## Windows Systems ##
#####################
systems_windows:
enable: true
memberof: systems
display: Windows
---
groups:
#####################
## Managed Systems ##
#####################
systems:
enable: true
display: Managed Systems
memberof: enasisnetwork_sslca
---
groups:
######################
## Uranus Inventory ##
######################
uranus:
enable: true
memberof: default
display: Uranus Inventory
Systems#
---
systems:
########################
## Robert Workstation ##
########################
aegaeon:
enable: true
inherits: template_fedora
memberof: saturn
display: Robert Workstation
kvparsed:
network_domesnet: >-
{{- orche.childs.subnets
.saturn_domesnet
.address("172.18.51.40")
.dumped -}}
---
systems:
######################
## Gateway Firewall ##
######################
engwf1x1t:
enable: true
inherits: template_openbsd
memberof: saturn
display: Saturn Gateway Primary
kvparsed:
network_internal: >-
{{- orche.childs.subnets
.saturn_internal
.address("172.18.11.2")
.dumped -}}
network_domesnet: >-
{{- orche.childs.subnets
.saturn_domesnet
.address("172.18.51.2")
.dumped -}}
######################
## Gateway Firewall ##
######################
engwf1x2t:
enable: true
inherits: template_openbsd
memberof: saturn
display: Saturn Gateway Secondary
kvparsed:
network_internal: >-
{{- orche.childs.subnets
.saturn_internal
.address("172.18.11.3")
.dumped -}}
network_domesnet: >-
{{- orche.childs.subnets
.saturn_domesnet
.address("172.18.51.3")
.dumped -}}
---
systems:
######################
## Gateway Firewall ##
######################
engwf2x1t:
enable: true
inherits: template_openbsd
memberof: uranus
display: Uranus Gateway Primary
kvparsed:
network_internal: >-
{{- orche.childs.subnets
.uranus_internal
.address("172.18.12.2")
.dumped -}}
network_domesnet: >-
{{- orche.childs.subnets
.uranus_domesnet
.address("172.18.52.2")
.dumped -}}
######################
## Gateway Firewall ##
######################
engwf2x2t:
enable: true
inherits: template_openbsd
memberof: uranus
display: Uranus Gateway Secondary
kvparsed:
network_internal: >-
{{- orche.childs.subnets
.uranus_internal
.address("172.18.12.3")
.dumped -}}
network_domesnet: >-
{{- orche.childs.subnets
.uranus_domesnet
.address("172.18.52.3")
.dumped -}}
---
systems:
###################
## Saturn Server ##
###################
ensrv1t:
enable: true
inherits: template_almalinux
memberof:
- saturn
- enasisnetwork_enhomie
display: Saturn Server
kvparsed:
network_internal: >-
{{- orche.childs.subnets
.saturn_internal
.address("172.18.11.31")
.dumped -}}
#######################
## Ansible Variables ##
#######################
ansible:
####################
## Homie Automate ##
####################
enhomie_directory: /opt/enhomie
---
systems:
###################
## Uranus Server ##
###################
ensrv2t:
enable: true
inherits: template_almalinux
memberof:
- uranus
- enasisnetwork_enrobie
display: Uranus Server
kvparsed:
network_internal: >-
{{- orche.childs.subnets
.uranus_internal
.address("172.18.12.31")
.dumped -}}
#######################
## Ansible Variables ##
#######################
ansible:
####################
## Chatting Robie ##
####################
enrobie_directory: /opt/enrobie
---
systems:
########################
## Robert Workstation ##
########################
meropis:
enable: true
inherits: template_windows
memberof: saturn
display: Robert Workstation
kvparsed:
network_domesnet: >-
{{- orche.childs.subnets
.saturn_domesnet
.address("172.18.51.41")
.dumped -}}
---
systems:
########################
## AlmaLinux Template ##
########################
template_almalinux:
enable: false
inherits: template_default
memberof: systems_almalinux
display: AlmaLinux Template
---
systems:
######################
## Default Template ##
######################
template_default:
enable: false
domain: enasis.net
display: Default Template
#######################
## Ansible Variables ##
#######################
ansible:
ansible_host: '{{ inventory_hostname }}'
ansible_user: root
###########################
## Certificate Authority ##
###########################
sslca_certificate:
system:
name: '{{ inventory_hostname }}'
kind: server
common: '{{ orche_system.fqdn }}'
parent: system
---
systems:
#####################
## Fedora Template ##
#####################
template_fedora:
enable: false
inherits: template_default
memberof: systems_fedora
display: Fedora Template
---
systems:
######################
## OpenBSD Template ##
######################
template_openbsd:
enable: false
inherits: template_default
memberof: systems_openbsd
display: OpenBSD Template
---
systems:
######################
## Windows Template ##
######################
template_windows:
enable: false
inherits: template_default
memberof: systems_windows
display: Windows Template
Persons#
---
persons:
###################
## Robert Domain ##
###################
robert_domain:
enable: true
realm: domain
domain: enasis.net
first: Robert
last: Harris
##################
## Robert Local ##
##################
robert_local:
enable: true
realm: local
domain: local
first: '{{ source.persons.robert_domain.first }}'
last: '{{ source.persons.robert_domain.last }}'
---
subnets:
#####################
## Saturn Internal ##
#####################
saturn_internal:
enable: true
subnet: 172.18.11.0/24
memberof: saturn
display: Saturn Internal
macpref: '0e'
gateway: 172.18.11.1
resolve: 172.18.11.1
ntpsync: 172.18.11.1
#####################
## Saturn Domesnet ##
#####################
saturn_domesnet:
enable: true
subnet: 172.18.51.0/24
memberof: saturn
display: Saturn Domesnet
macpref: '0e'
gateway: 172.18.51.1
resolve: 172.18.51.1
ntpsync: 172.18.51.1
#####################
## Saturn External ##
#####################
saturn_external:
enable: true
subnet: 172.18.91.0/24
memberof: saturn
display: Saturn External
macpref: '0e'
gateway: 172.18.91.1
resolve: 172.18.91.1
ntpsync: 172.18.91.1
---
subnets:
#####################
## Uranus Internal ##
#####################
uranus_internal:
enable: true
subnet: 172.18.12.0/24
memberof: uranus
display: Uranus Internal
macpref: '0e'
gateway: 172.18.12.1
resolve: 172.18.12.1
ntpsync: 172.18.12.1
#####################
## Uranus Domesnet ##
#####################
uranus_domesnet:
enable: true
subnet: 172.18.52.0/24
memberof: uranus
display: Uranus Domesnet
macpref: '0e'
gateway: 172.18.52.1
resolve: 172.18.52.1
ntpsync: 172.18.52.1
#####################
## Uranus External ##
#####################
uranus_external:
enable: true
subnet: 172.18.92.0/24
memberof: uranus
display: Uranus External
macpref: '0e'
gateway: 172.18.92.1
resolve: 172.18.92.1
ntpsync: 172.18.92.1