Refactor Infrahub config and rename schema folder
Move schema files into a dedicated 'schemas' directory and update .infrahub.yml to reference them along with adding sections for schemas, generators, and queries.
This commit is contained in:
111
infrahub/schemas/01_organization.yml
Normal file
111
infrahub/schemas/01_organization.yml
Normal file
@@ -0,0 +1,111 @@
|
||||
# yaml-language-server: $schema=https://schema.infrahub.app/infrahub/schema/latest.json
|
||||
---
|
||||
version: "1.0"
|
||||
|
||||
nodes:
|
||||
- name: Organization
|
||||
namespace: Organization
|
||||
label: "Organization"
|
||||
icon: "mdi:domain"
|
||||
include_in_menu: true
|
||||
human_friendly_id: ["name__value"]
|
||||
display_label: "name__value"
|
||||
order_by:
|
||||
- name__value
|
||||
attributes:
|
||||
- name: name
|
||||
kind: Text
|
||||
unique: true
|
||||
optional: false
|
||||
description: "Organization name"
|
||||
- name: description
|
||||
kind: Text
|
||||
optional: true
|
||||
description: "Organization description"
|
||||
- name: asn_base
|
||||
kind: Number
|
||||
optional: false
|
||||
default_value: 65000
|
||||
description: "Base ASN for BGP allocation (e.g., 65000)"
|
||||
relationships:
|
||||
- name: sites
|
||||
peer: LocationSite
|
||||
optional: true
|
||||
cardinality: many
|
||||
kind: Generic
|
||||
description: "Sites belonging to this organization"
|
||||
- name: ip_namespaces
|
||||
peer: IpamNamespace
|
||||
optional: true
|
||||
cardinality: many
|
||||
kind: Generic
|
||||
description: "IP namespaces managed by this organization"
|
||||
|
||||
- name: Site
|
||||
namespace: Location
|
||||
label: "Site"
|
||||
icon: "mdi:office-building"
|
||||
include_in_menu: true
|
||||
menu_placement: "OrganizationOrganization"
|
||||
human_friendly_id: ["name__value"]
|
||||
display_label: "name__value"
|
||||
order_by:
|
||||
- name__value
|
||||
attributes:
|
||||
- name: name
|
||||
kind: Text
|
||||
unique: true
|
||||
optional: false
|
||||
description: "Site name (e.g., Paris-DC)"
|
||||
- name: description
|
||||
kind: Text
|
||||
optional: true
|
||||
description: "Site description"
|
||||
- name: location
|
||||
kind: Text
|
||||
optional: true
|
||||
description: "Physical location (e.g., Paris, France)"
|
||||
- name: facility_id
|
||||
kind: Text
|
||||
optional: true
|
||||
description: "Facility identifier"
|
||||
- name: status
|
||||
kind: Dropdown
|
||||
optional: false
|
||||
default_value: "active"
|
||||
choices:
|
||||
- name: active
|
||||
label: Active
|
||||
description: Site is operational
|
||||
color: "#7fbf7f"
|
||||
- name: planned
|
||||
label: Planned
|
||||
description: Site is being planned
|
||||
color: "#ffd966"
|
||||
- name: maintenance
|
||||
label: Maintenance
|
||||
description: Site under maintenance
|
||||
color: "#ff9999"
|
||||
- name: decommissioned
|
||||
label: Decommissioned
|
||||
description: Site decommissioned
|
||||
color: "#cccccc"
|
||||
relationships:
|
||||
- name: organization
|
||||
peer: OrganizationOrganization
|
||||
optional: false
|
||||
cardinality: one
|
||||
kind: Attribute
|
||||
description: "Parent organization"
|
||||
- name: datacenters
|
||||
peer: InfraDatacenter
|
||||
optional: true
|
||||
cardinality: many
|
||||
kind: Generic
|
||||
description: "Datacenters at this site"
|
||||
- name: parent_prefix
|
||||
peer: IpamIPPrefix
|
||||
optional: true
|
||||
cardinality: one
|
||||
kind: Attribute
|
||||
description: "Parent IP prefix for this site"
|
||||
Reference in New Issue
Block a user