diff --git a/docs/PacketFence_Installation_Guide.asciidoc b/docs/PacketFence_Installation_Guide.asciidoc index 2934979e12c4..006e2ad72ae7 100644 --- a/docs/PacketFence_Installation_Guide.asciidoc +++ b/docs/PacketFence_Installation_Guide.asciidoc @@ -2624,7 +2624,7 @@ Configuring a Regex Syslog Parser Regex Syslog Parser Rule - Name - The name of the rule -- Regex - The regex to match against a log entry. The regex may have http://perldoc.perl.org/perlre.html#(%3f'NAME'pattern[named captures] which can be used for parameter replacement start a '$'. +- Regex - The regex to match against a log entry. The regex may have https://github.com/google/re2/wiki/Syntax[named captures] which can be used for parameter replacement start a '$'. - Actions - A list of actions to take when the regex matches - IP to MAC - Perform automatic translation of IPs to MACs and the other way around - Last if matches - Stop processing the other rules if this rule matched @@ -2640,7 +2640,7 @@ Example Action Regex - - mac\s*:\s*(?<mac>[a-zA-Z0-9]{2}(:[a-zA-Z0-9]{2}){5}), notes\s*:\s*(?<notes>.*) + mac\s*:\s*(?P<mac>[a-zA-Z0-9]{2}(:[a-zA-Z0-9]{2}){5}), notes\s*:\s*(P?<notes>.*) Action - @@ -2669,7 +2669,7 @@ Here is the configuration of the syslog regex parser: Rule - New: Name *: ET P2P Kaaza Media desktop p2pnetworking.exe - Regex *: (?\d{2}\/\d{2}\/\d{4}-\d{2}:\d{2}:\d{2}.*?) \[\*\*\] \[\d+:(?\d+):\d+\] (?.*?) \[\*\*\].* (?\d{1,3}(\.\d{1,3}){3}):(?\d+) -> (?\d{1,3}(\.\d{1,3}){3}):(?\d+) + Regex *: (?P\d{2}\/\d{2}\/\d{4}-\d{2}:\d{2}:\d{2}.*?) \[\*\*\] \[\d+:(?P\d+):\d+\] (?P.*?) \[\*\*\].* (?P\d{1,3}(\.\d{1,3}){3}):(?P\d+) -> (?P\d{1,3}(\.\d{1,3}){3}):(?P\d+) Action: trigger_violation mac, $mac, tid, $sid, type, detect Last if match: unchecked IP to MAC: checked diff --git a/docs/api/spec/components/parameters/base.yaml b/docs/api/spec/components/parameters/base.yaml index 2c58317b6345..83e454938ba3 100644 --- a/docs/api/spec/components/parameters/base.yaml +++ b/docs/api/spec/components/parameters/base.yaml @@ -49,13 +49,6 @@ sort: type: string description: A list of fields to sort on along with the ordering way (ASC or DESC). -search_params: - - $ref: '#/components/parameters/cursor' - - $ref: '#/components/parameters/limit' - - $ref: '#/components/parameters/search_query' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/sort' - local: in: query name: local diff --git a/docs/api/spec/components/schemas/apiuser.yaml b/docs/api/spec/components/schemas/apiuser.yaml index 6bbb1279c5b7..75abbc23a42b 100644 --- a/docs/api/spec/components/schemas/apiuser.yaml +++ b/docs/api/spec/components/schemas/apiuser.yaml @@ -12,5 +12,4 @@ ApiUser: type: string valid_from: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/apiuserslist.yaml b/docs/api/spec/components/schemas/apiuserslist.yaml index deafed9f591c..de7aaae612d3 100644 --- a/docs/api/spec/components/schemas/apiuserslist.yaml +++ b/docs/api/spec/components/schemas/apiuserslist.yaml @@ -3,6 +3,7 @@ ApiUsersList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/ApiUser' type: array diff --git a/docs/api/spec/components/schemas/configadminroleslist.yaml b/docs/api/spec/components/schemas/configadminroleslist.yaml index cef0663b8aee..a8d8b0e29c08 100644 --- a/docs/api/spec/components/schemas/configadminroleslist.yaml +++ b/docs/api/spec/components/schemas/configadminroleslist.yaml @@ -3,7 +3,9 @@ ConfigAdminRolesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigAdminRole' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configbase.yaml b/docs/api/spec/components/schemas/configbase.yaml index ffdaac2f2084..dae9970b08c1 100644 --- a/docs/api/spec/components/schemas/configbase.yaml +++ b/docs/api/spec/components/schemas/configbase.yaml @@ -1,4 +1,843 @@ ConfigBase: discriminator: propertyName: type - oneOf: [] + oneOf: + - properties: + pass: + description: The webservices password + type: string + user: + description: The webservices user name + type: string + type: object + - properties: + dhcpservers: + description: Comma-delimited list of DHCP servers. + type: string + domain: + description: Domain name of PacketFence system. Changing this requires to + restart haproxy-portal. + type: string + hostname: + description: Hostname of PacketFence system. This is concatenated with the + domain in Apache rewriting rules and therefore must be resolvable by clients. + Changing this requires to restart haproxy-portal. + type: string + timezone: + description: System's timezone in string format. List generated from Perl + library DataTime::TimeZoneWhen left empty, it will use the timezone of the + server + type: string + type: object + - properties: + connection_type_change_detection: + description: Will identify if a device switches from wired to wireless (or + the opposite) and send an e-mail with these changes.This can help detect + MAC spoofing. + type: string + dhcp_rate_limiting: + description: Will rate-limit DHCP packets that contain the same information.For + example, a DHCPREQUEST for the same MAC/IP will only be processed once in + the timeframe configured below.This is independant of the DHCP server/relay + handling the packet and is only based on the IP, MAC Address and DHCP type + inside the packet.A value of 0 will disable the rate limitation. + properties: + interval: + description: Interval + type: integer + unit: + description: Unit + type: string + type: object + dhcpdetector: + description: If enabled, PacketFence will monitor DHCP-specific items such + as rogue DHCP services, DHCP-based OS fingerprinting, computername/hostname + resolution, and (optionnally) option-82 location-based information. The + monitored DHCP packets are DHCPDISCOVERs and DHCPREQUESTs - both are broadcasts, + meaning a span port is not necessary. This feature is highly recommended + if the internal network is DHCP-based. + type: string + dhcpoption82logger: + description: 'If enabled PacketFence will monitor DHCP option82 location-based + information. This feature is only available if the dhcpdetector is activated. + ' + type: string + force_listener_update_on_ack: + description: This will only do the iplog update and other DHCP related task + on a DHCPACK.You need to make sure the UDP reflector is in place so this + works on the production network.This is implicitly activated on registration + interfaces on which dhcpd runs. + type: string + hostname_change_detection: + description: Will identify hostname changes and send an e-mail with these + changes.This can help detect MAC spoofing. + type: string + interfaceSNAT: + description: Choose interface(s) where you want to enable snat for passthrough + (by default it's the management interface) + type: string + rogue_dhcp_detection: + description: Tries to identify Rogue DHCP Servers and triggers the 1100010 + violation if one is found. This feature is only available if the dhcpdetector + is activated. + type: string + rogueinterval: + description: When rogue DHCP server detection is enabled, this parameter defines + how often to email administrators. With its default setting of 10, it will + email administrators the details of the previous 10 DHCP offers. + type: integer + type: object + - properties: + interception_proxy: + description: If enabled, we will intercept proxy request on the specified + ports to forward to the captive portal. + type: string + interception_proxy_port: + description: Comma-delimited list of port used by proxy interception. + type: string + isolation_passthrough: + description: When enabled, PacketFence uses pfdns if you defined Isolation + Passthroughs to allow trapped devices in isolation state to reach web + sites.Modifying this parameter requires to restart pfdns and iptables to + be fully effective. + type: string + isolation_passthroughs: + description: 'Comma-delimited list of domains to allow access from the isolation + VLAN.If no port is specified for the domain (ex: example.com), it opens + TCP 80 and 443.You can specify a specific port to open (ex: example.com:tcp:25) + which opens port 25 in TCP. When no protocol is specified (ex: example.com:25), + this opens the port for both the UDP and TCP protocol.You can specify the + same domain with a different port multiple times and they will be combined.The + configuration parameter isolation_passthrough must be enabled for + passthroughs to be effective.Modifying this parameter requires to restart + pfdns to be effective.' + type: string + passthrough: + description: 'When enabled, PacketFence uses pfdns if you defined Passthroughs + or Apache mod-proxy if you defined Proxy passthroughs to allow trapped + devices to reach web sites.Modifying this parameter requires to restart + pfdns and iptables to be fully effective. ' + type: string + passthroughs: + description: 'Comma-delimited list of domains to allow access from the registration + VLAN.If no port is specified for the domain (ex: example.com), it opens + TCP 80 and 443.You can specify a specific port to open (ex: example.com:tcp:25) + which opens port 25 in TCP. When no protocol is specified (ex: example.com:25), + this opens the port for both the UDP and TCP protocol.You can specify the + same domain with a different port multiple times and they will be combined.The + configuration parameter passthrough must be enabled for passthroughs + to be effective.These passthroughs are only effective in registration networks, + for passthroughs in isolation, use fencing.isolation_passthroughs.Modifying + this parameter requires to restart pfdns to be effective.' + type: string + proxy_passthroughs: + description: 'Comma-delimited list of domains to be used with apache passthroughs. + The configuration parameter passthrough must be enabled for passthroughs + to be effective. ' + type: string + range: + description: Address ranges/CIDR blocks that PacketFence will monitor/detect/trap + on. Gateway, network, and broadcast addresses are ignored. Comma-delimited + entries should be of the form
  • a.b.c.0/24
  • a.b.c.0-255
  • a.b.c.0-a.b.c.255
  • a.b.c.d
+ type: string + wait_for_redirect: + description: How many seconds the webservice should wait before deassociating + or reassigning VLAN. If we don't wait, the device may switch VLAN before + it has a chance to load the redirection page. + type: integer + whitelist: + description: Comma-delimited list of MAC addresses that are immune to isolation. + In inline Level 2 enforcement, the firewall is opened for them as if they + were registered. This feature will probably be reworked in the future. + type: string + type: object + - properties: + admin_csp_security_headers: + description: (Experimental) Enforce Content-Security-Policy (CSP) HTTP response + header in admin interface + type: string + disable_pf_domain_auth: + description: Disable Active-Directory domain configuration from within PacketFence + type: string + hash_passwords: + description: The algorithm used to hash the passwords in the database.This + will only affect newly created or reset passwords. + type: string + hashing_cost: + description: The cost factor to apply to the password hashing if applicable.Currently + only applies to bcrypt. + type: integer + language: + description: Language choice for the communication with administrators + type: string + ldap_attributes: + description: List of LDAP attributes that can be used in the sources configuration + type: string + locationlog_close_on_accounting_stop: + description: Close the locationlog for a node on accounting stop + type: string + multihost: + description: Ability to manage all active devices from a same switch port + type: string + normalize_radius_machine_auth_username: + description: Use the RADIUS username instead of the TLS certificate common + name when doing machine authentication. + type: string + ntlm_redis_cache: + description: Enables a Redis driven cache for NTLM authentication. In order + for this to work, you need to setup proper NT hash syncronization between + your PacketFence server and your AD.Refer to the Administration guide for + more details.Applying this requires a restart of radiusd. + type: string + pfdns_processes: + description: Amount of pfdns processes to start + type: string + pffilter_processes: + description: Amount of pffilter processes to start + type: string + portal_csp_security_headers: + description: (Experimental) Enforce Content-Security-Policy (CSP) HTTP response + header in captive portal interface + type: string + radius_attributes: + description: List of RADIUS attributes that can be used in the sources configuration + type: string + record_accounting_in_sql: + description: Record the accounting data in the SQL tables.Requires a restart + of radiusd to be effective. + type: string + source_to_send_sms_when_creating_users: + description: The source to use to send an SMS when creating a user + type: string + sso_on_access_reevaluation: + description: Trigger Single-Sign-On (Firewall SSO) on access reevaluation + type: string + sso_on_accounting: + description: Trigger Single-Sign-On (Firewall SSO) on accounting + type: string + sso_on_dhcp: + description: Trigger Single-Sign-On (Firewall SSO) on dhcp + type: string + timing_stats_level: + description: Level of timing stats to keep - 0 is the lowest - 10 the highest + amount to logDo not change unless you know what you are doing + type: integer + update_iplog_with_accounting: + description: Use the information included in the accounting to update the + iplog + type: string + vlan_pool_technique: + description: 'The algorithm used to calculate the VLAN in a VLAN pool. ' + type: string + type: object + - properties: + access_duration_choices: + description: List of all the choices offered in the access duration action + of an authentication source. + type: string + default_access_duration: + description: This is the default access duration value selected in the dropdown. + The value must be part of the above list of access duration choices. + type: string + default_access_duration_add: + description: Duration + properties: + day_base: + description: Relative to the beginning of the day + type: string + duration: + description: Duration + properties: + interval: + description: Interval + type: integer + unit: + description: Unit + type: string + type: object + example: + description: Example + type: string + extended_duration: + description: and + properties: + interval: + description: Interval + type: integer + operator: + description: Operator + type: string + unit: + description: Unit + type: string + type: object + period_base: + description: Relative to the beginning of the period + type: string + type: object + type: object + - properties: + enabled: + description: Enable MSE + type: string + pass: + description: Password for MSE service + type: string + url: + description: URL of MSE service + type: string + user: + description: Username for MSE service + type: string + type: object + - properties: + eap_authentication_types: + description: Supported EAP Authentication Methods + items: + description: Supported EAP Authentication Methods + type: string + type: array + eap_fast_authority_identity: + description: EAP-FAST authority ID + type: string + eap_fast_opaque_key: + description: EAP-FAST Opaque Key (32 randomized bytes) + type: string + type: object + - properties: + emailaddr: + description: Email address to which notifications of rogue DHCP servers, violations + with an action of email, or any other PacketFence-related message + goes to. + type: string + fromaddr: + description: Email address from which notifications of rogue DHCP servers, + violations with an action of email, or any other PacketFence-related + message are sent.Empty means root@<server-domain-name>. + type: string + smtp_encryption: + description: Encryption style when connecting to the SMTP server. + type: string + smtp_password: + description: The password used to connect to the SMTP server + type: string + smtp_port: + description: 'The port of the SMTP server. If the port is set to 0 then port + is calculated by the encryption type. none: 25, ssl: 465, starttls: 587' + type: string + smtp_timeout: + description: The timeout in seconds for sending an email + type: string + smtp_username: + description: The username used to connect to the SMTP server + type: string + smtp_verifyssl: + description: Verify SSL connection + type: string + smtpserver: + description: Server through which to send messages to the above emailaddr. The + default is localhost - be sure you're running an SMTP host locally if you + don't change it! + type: string + subjectprefix: + description: Subject prefix for email notifications of rogue DHCP servers, + violations with an action of email, or any other PacketFence-related + message. + type: string + type: object + - properties: + bounce_duration: + description: Delay to wait between the shut / no-shut on a port. Some OS need + a higher value than others. Default should be reasonable for almost every + OS but is too long for the usual proprietary OS. + properties: + interval: + description: Interval + type: integer + unit: + description: Unit + type: string + type: object + trap_limit: + description: Controls whether or not the trap limit feature is enabled. Trap + limiting is a way to limit the damage done by malicious users or misbehaving + switch that sends too many traps to PacketFence causing it to be overloaded. + Trap limiting is controlled by the trap limit threshold and trap limit action + parameters. Default is enabled. + type: string + trap_limit_action: + description: Action that PacketFence will take if the snmp_traps.trap_limit_threshold + is reached. Defaults to none. email will send an email every hour if the + limit's still reached. shut will shut the port on the switch and will also + send an email even if email is not specified. + items: + description: Action that PacketFence will take if the snmp_traps.trap_limit_threshold + is reached. Defaults to none. email will send an email every hour if the + limit's still reached. shut will shut the port on the switch and will + also send an email even if email is not specified. + type: string + type: array + trap_limit_threshold: + description: Maximum number of SNMP traps that a switchport can send to PacketFence + within a minute without being flagged as DoS. Defaults to 100. + type: integer + type: object + - properties: + category: + description: Default category to assign to imported nodes. + type: string + pid: + description: Default pid value to assign to imported nodes. + type: string + voip: + description: By default is an imported node a Voice over IP device or not? + type: string + type: object + - properties: + detection_mecanism_bypass: + description: Bypass the captive-portal detection mechanism of some browsers + / end-points by proxying the detection request. + type: string + detection_mecanism_urls: + description: Comma-delimited list of URLs known to be used by devices to detect + the presence of a captive portal and trigger their captive portal mechanism. + type: string + image_path: + description: This is the path where the gif is on the webserver to detect + if the network accesshas been enabled. + type: string + loadbalancers_ip: + description: 'If the captive portal is put behind load-balancer(s) that act + at Layer 7 (HTTP level) effectively doing reverse proxying then the captive + portal no longer sees the IP of the node trying to access the portal. In + that case, the load-balancers must do SSL offloading and add a X-Forwarded-By + header in the HTTP traffic they forward to PacketFence. Most do by default. + Then in this parameter you must specify the IP of the various load balancers. + This will instruct the captive portal to look for client IPs in the X-Forwarded-For + instead of the actual TCP session when it matches an IP in the list. Format + is a comma separated list of IPs. Note: Apache access log format is not + changed to automatically log the X-Forwarded-By header. Modify conf/httpd.conf.d/captive-portal-common.conf + to use load balanced combined instead of combined in CustomLog statement.' + type: string + network_detection: + description: Enable the automatic network detection feature for registration + auto-redirect + type: string + network_detection_initial_delay: + description: The amount of time before network connectivity detection is started. + properties: + interval: + description: Interval + type: integer + unit: + description: Unit + type: string + type: object + network_detection_ip: + description: This IP is used as the webserver who hosts the common/network-access-detection.gif + which is used to detect if network access was enabled. It cannot be a domain + name since it is used in registration or quarantine where DNS is blackholed. + It is recommended that you allow your users to reach your PacketFence server + and put your LAN's PacketFence IP. By default we will make this reach PacketFence's + website as an easy solution. + type: string + network_detection_retry_delay: + description: The amount of time between network connectivity detection checks. + properties: + interval: + description: Interval + type: integer + unit: + description: Unit + type: string + type: object + network_redirect_delay: + description: How long to display the progress bar during trap release. Default + value is based on VLAN enforcement techniques. Inline enforcement only users + could lower the value. + properties: + interval: + description: Interval + type: integer + unit: + description: Unit + type: string + type: object + other_domain_names: + description: Other domain names under which the captive portal responds.Requires + to restart haproxy-portal to be fully effective. + type: string + rate_limiting: + description: Temporarily deny access to a user that performs too many requests + on the captive portal on invalid URLsRequires to restart haproxy-portal + in order to apply the change. + type: string + rate_limiting_threshold: + description: Amount of requests on invalid URLs after which the rate limiting + will kick in for this device.Requires to restart haproxy-portal in order + to apply the change. + type: integer + request_timeout: + description: The amount of seconds before a request times out in the captive + portal + type: integer + secure_redirect: + description: Force the captive portal to use HTTPS for all portal clients.Note + that clients will be forced to use HTTPS on all URLs.This requires a restart + of the httpd.portal process to be fully effective. + type: string + status_only_on_production: + description: When enabled the /status page will only be available on theproduction + network. By default this is disabled + type: string + wispr_redirection: + description: Enable or disable WISPr redirection capabilities on the captive-portal + type: string + type: object + - properties: + accounting: + description: Should we handle accouting data for inline clients? This controls + inline accouting tasks in pfmon. + type: string + interfaceSNAT: + description: Comma-delimited list of interfaces used to SNAT inline level + 2 traffic + type: string + layer3_accounting_session_timeout: + description: Accounting sessions created by pfbandwidthd that haven't been + updated for more than this amount of seconds will be considered inactive. + This should be higher than the interval at which pfmon runs Defaults to + 300 - 5 minutes + type: string + layer3_accounting_sync_interval: + description: Interval at which pfbandwidthd should dump collected information + into the database. This should be lower than the interval at which pfmon + runs. Defaults to 41 seconds + type: string + ports_redirect: + description: Ports to intercept and redirect for trapped and unregistered + systems. Defaults to 80/tcp (HTTP), 443/tcp (HTTPS). Redirecting 443/tcp + (SSL) will work, although users might get certificate errors if you didn't + install a valid certificate or if you don't use DNS (although IP-based certificates + supposedly exist). Redirecting 53/udp (DNS) seems to have issues and is + also not recommended. + type: string + should_reauth_on_vlan_change: + description: Should have to reauthenticate the node if vlan change + type: string + type: object + - properties: + lease_length: + description: Lease length (in seconds) when a device is in parking + type: integer + place_in_dhcp_parking_group: + description: Place the device in the DHCP parking group when it is detected + doing parking + type: string + show_parking_portal: + description: Show the parking portal to the device instead of the usual portal + type: string + threshold: + description: The threshold (in seconds) after which a device will be placed + in parking.A value of 0 deactivates the parking detection.The detection + works by looking at the time in seconds a device has been in the registration + role and comparing it with this threshold. + type: integer + type: object + - properties: + api-frontend: + description: Should api-frontend be managed by PacketFence? + type: string + etcd: + description: Should etcd be managed by PacketFence? + type: string + fingerbank-collector: + description: Should the fingerbank-collector be managed by PacketFence? + type: string + haproxy-db: + description: Should haproxy-db be started? Keep enabled unless you know what + you're doing. + type: string + haproxy-portal: + description: Should haproxy-portal be started? Keep enabled unless you know + what you're doing. + type: string + httpd_aaa: + description: Should httpd.aaa be started? Keep enabled unless you know what + you're doing. + type: string + httpd_admin: + description: Should httpd.admin be started? Keep enabled unless you know what + you're doing. + type: string + httpd_collector: + description: Should httpd.collector be started? Keep enabled unless you know + what you're doing. + type: string + httpd_dispatcher: + description: Should httpd.dispatcher be started? Keep enabled unless you know + what you're doing. + type: string + httpd_parking: + description: Should httpd.parking be started? Keep enabled unless you know + what you're doing. + type: string + httpd_portal: + description: Should httpd.portal be started? Keep enabled unless you know + what you're doing. + type: string + httpd_proxy: + description: Should httpd.proxy be started? Keep enabled unless you know what + you're doing. + type: string + httpd_webservices: + description: Should httpd.webservices be started? Keep enabled unless you + know what you're doing. + type: string + iptables: + description: Should iptables be managed by PacketFence? Keep enabled unless + you know what you're doing. + type: string + keepalived: + description: Should keepalived be started? Keep enabled unless you know what + you're doing. + type: string + netdata: + description: Should netdata be managed by PacketFence? + type: string + pfbandwidthd: + description: Should pfbandwidthd be managed by PacketFence? + type: string + pfdhcp: + description: Should pfdhcp be managed by PacketFence? + type: string + pfdhcplistener: + description: Should pfdhcplistener be started? Keep enabled unless you know + what you're doing. + type: string + pfdhcplistener_packet_size: + description: Set the max size of DHCP packetsDo not change unless you know + what you are doing + type: integer + pfdns: + description: Should pfdns be managed by PacketFence? + type: string + pffilter: + description: Should pffilter be managed by PacketFence? + type: string + pfipset: + description: Should pfipset be managed by PacketFence? + type: string + pfmon: + description: Should pfmon be started? Keep enabled unless you know what you're + doing. + type: string + pfperl-api: + description: Should pfperl-api be started? Keep enabled unless you know what + you're doing. + type: string + pfqueue: + description: Should pfqueue be started? Keep enabled unless you know what + you're doing. + type: string + pfsso: + description: Should pfsso be managed by PacketFence? + type: string + pfstats: + description: Should pfstats be managed by PacketFence? + type: string + radiusd: + description: Should radiusd be managed by PacketFence? + type: string + radsniff: + description: Should radsniff be managed by PacketFence? + type: string + redis_cache: + description: Should redis for caching be started? Keep enabled unless you + know what you're doing. + type: string + redis_ntlm_cache: + description: Should the redis NTLM cache be started? Use this if you are enabling + an Active Directory NTLM cache. + type: string + redis_queue: + description: Should redis be started? Keep enabled unless you know what you're + doing. + type: string + routes: + description: Should routes be managed by PacketFence? + type: string + snmptrapd: + description: Should snmptrapd be started? Keep enabled unless you know what + you're doing. + type: string + tc: + description: Should traffic shaping be managed by PacketFence? + type: string + winbindd: + description: Should winbindd be started? Keep enabled unless you know what + you're doing. + type: string + type: object + - properties: + api_key: + description: OPSWAT Metadefender Cloud Scanner API key + type: string + query_url_hash: + description: OPSWAT Metadefender Cloud Scanner URL for hash queries + type: string + type: object + - properties: + autoconfig: + description: Enable or Disable the generation of a pre-built XML mobile configuration + profile for iPhone, iPad, or iPod users + type: string + category: + description: Apply to node that are members of the following category + type: string + certificate: + description: Path of the ca certificate + type: string + ssid: + description: The hidden SSID where the user should connect to after registration + type: string + type: object + - properties: + db: + description: Name of the mysql database used by PacketFence. + type: string + host: + description: Server the mysql server is running on. + type: string + pass: + description: Password for the mysql database used by PacketFence. + type: string + port: + description: Port the mysql server is running on. + type: integer + user: + description: Username of the account with access to the mysql database used + by PacketFence. + type: string + type: object + - properties: + auth_on_management: + description: Process RADIUS authentication requests on the management server + (the current load balancer).Disabling it will make the management server + only proxy requests to other servers.Useful if your load balancer cannot + handle both tasks.Changing this requires to restart radiusd. + type: string + centralized_deauth: + description: Centralize the deauthentication to the management node of the + cluster. + type: string + conflict_resolution_threshold: + description: Defines the amount of seconds after which pfmon attempts to resolve + a configuration version conflict between cluster members.For example, if + this is set to 5 minutes, then a resolution will be attempted when the members + will be detected running a different version for more than 5 minutes. + properties: + interval: + description: Interval + type: integer + unit: + description: Unit + type: string + type: object + dns_on_vip_only: + description: Set the name server option in DHCP replies to point only to the + VIP in cluster mode rather than to all servers in the cluster. + type: string + galera_replication: + description: Whether or not to activate galera cluster when using a cluster + type: string + galera_replication_password: + description: Defines the replication password to be used for the MariaDB Galera + cluster replication + type: string + galera_replication_username: + description: Defines the replication username to be used for the MariaDB Galera + cluster replication + type: string + password: + description: Shared KEY for VRRP protocol (must be the same on all members). + type: string + virtual_router_id: + description: The virtual router id for keepalive. Leave untouched unless you + have another keepalive cluster in this network. Must be between 1 and 255. + type: string + vrrp_unicast: + description: Enable keepalived in unicast mode instead of multicast + type: string + type: object + - properties: + aaa: + description: httpd listening port for AAA webservice + type: string + admin: + description: Port the administrative interface listens on. + type: string + collector: + description: Port of the collector webservice. + type: string + httpd_portal_modstatus: + description: Port the mod_status for httpd.portal listens on. + type: string + soap: + description: Port of the soap webservice. + type: string + unifiedapi: + description: port to use for accessing the Unified API + type: string + type: object + - properties: + innodb_additional_mem_pool_size: + description: The innodb_additional_mem_pool_size MySQL configuration attribute + (in MB). Only change if you know what you are doing. Will only affect a + locally running MySQL server. + type: integer + innodb_buffer_pool_size: + description: The innodb_buffer_pool_size MySQL configuration attribute (in + MB). Only change if you know what you are doing. Will only affect a locally + running MySQL server. + type: integer + key_buffer_size: + description: The key_buffer_size MySQL configuration attribute (in MB). Only + change if you know what you are doing. Will only affect a locally running + MySQL server. + type: integer + max_allowed_packet: + description: The max_allowed_packet MySQL configuration attribute (in MB). + Only change if you know what you are doing. Will only affect a locally running + MySQL server. + type: integer + max_connections: + description: The max_connections MySQL configuration attribute. Only change + if you know what you are doing. Will only affect a locally running MySQL + server. + type: integer + query_cache_size: + description: The query_cache_size MySQL configuration attribute. Only change + if you know what you are doing. Will only affect a locally running MySQL + server. + type: integer + table_cache: + description: The table_cache MySQL configuration attribute. Only change if + you know what you are doing. Will only affect a locally running MySQL server. + type: integer + thread_cache_size: + description: The thread_cache_size MySQL configuration attribute. Only change + if you know what you are doing. Will only affect a locally running MySQL + server. + type: integer + thread_concurrency: + description: The thread_concurrency MySQL configuration attribute. Only change + if you know what you are doing. Will only affect a locally running MySQL + server. + type: integer + type: object diff --git a/docs/api/spec/components/schemas/configbaseslist.yaml b/docs/api/spec/components/schemas/configbaseslist.yaml index 77233184a254..18c79f204099 100644 --- a/docs/api/spec/components/schemas/configbaseslist.yaml +++ b/docs/api/spec/components/schemas/configbaseslist.yaml @@ -3,7 +3,9 @@ ConfigBasesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigBase' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configbillingtierslist.yaml b/docs/api/spec/components/schemas/configbillingtierslist.yaml index 97b19e99cabf..381ff5ca42d8 100644 --- a/docs/api/spec/components/schemas/configbillingtierslist.yaml +++ b/docs/api/spec/components/schemas/configbillingtierslist.yaml @@ -3,7 +3,9 @@ ConfigBillingTiersList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigBillingTier' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configconnectionprofile.yaml b/docs/api/spec/components/schemas/configconnectionprofile.yaml index 46220559cf3f..95b450fe8652 100644 --- a/docs/api/spec/components/schemas/configconnectionprofile.yaml +++ b/docs/api/spec/components/schemas/configconnectionprofile.yaml @@ -37,6 +37,10 @@ ConfigConnectionProfile: description: Unit type: string type: object + default_psk_key: + description: This is the default PSK key when you enable DPSK on this connection + profile. The minimum length is eight characters. + type: string description: description: Profile Description type: string @@ -47,6 +51,11 @@ ConfigConnectionProfile: description: When enabled, PacketFence will not use the role initialy computed on the portal but will use the dot1x username to recompute the role. type: string + dpsk: + description: This enables the Dynamic PSK feature on this connection profile. + It means that the RADIUS server will answer requests with specific attributes + like the PSK key to use to connect on the SSID. + type: string filter: description: Filters items: @@ -131,6 +140,13 @@ ConfigConnectionProfile: description: Source type: string type: array + status: + description: If profile is disabled it will not used + type: string + unreg_on_acct_stop: + description: This activates automatic deregistation of devices for the profile + if PacketFence receives a RADIUS accounting stop. + type: string required: - id - root_module diff --git a/docs/api/spec/components/schemas/configconnectionprofileslist.yaml b/docs/api/spec/components/schemas/configconnectionprofileslist.yaml index 1ef4806372e6..80091492e7ad 100644 --- a/docs/api/spec/components/schemas/configconnectionprofileslist.yaml +++ b/docs/api/spec/components/schemas/configconnectionprofileslist.yaml @@ -3,7 +3,9 @@ ConfigConnectionProfilesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigConnectionProfile' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configdeviceregistrationslist.yaml b/docs/api/spec/components/schemas/configdeviceregistrationslist.yaml index fa18fc44f3c6..268fe58f1c2e 100644 --- a/docs/api/spec/components/schemas/configdeviceregistrationslist.yaml +++ b/docs/api/spec/components/schemas/configdeviceregistrationslist.yaml @@ -3,7 +3,9 @@ ConfigDeviceRegistrationsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigDeviceRegistration' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configdomainslist.yaml b/docs/api/spec/components/schemas/configdomainslist.yaml index ce172b01bec1..b90c3334a6fa 100644 --- a/docs/api/spec/components/schemas/configdomainslist.yaml +++ b/docs/api/spec/components/schemas/configdomainslist.yaml @@ -3,7 +3,9 @@ ConfigDomainsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigDomain' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configfirewallslist.yaml b/docs/api/spec/components/schemas/configfirewallslist.yaml index f9d22445515f..1a01433efd5a 100644 --- a/docs/api/spec/components/schemas/configfirewallslist.yaml +++ b/docs/api/spec/components/schemas/configfirewallslist.yaml @@ -3,7 +3,9 @@ ConfigFirewallsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigFirewall' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configfloatingdeviceslist.yaml b/docs/api/spec/components/schemas/configfloatingdeviceslist.yaml index 9280280162cb..ae75a1d788b7 100644 --- a/docs/api/spec/components/schemas/configfloatingdeviceslist.yaml +++ b/docs/api/spec/components/schemas/configfloatingdeviceslist.yaml @@ -3,7 +3,9 @@ ConfigFloatingDevicesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigFloatingDevice' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configmaintenancetaskslist.yaml b/docs/api/spec/components/schemas/configmaintenancetaskslist.yaml index d5cbd4c1f377..184722005958 100644 --- a/docs/api/spec/components/schemas/configmaintenancetaskslist.yaml +++ b/docs/api/spec/components/schemas/configmaintenancetaskslist.yaml @@ -3,7 +3,9 @@ ConfigMaintenanceTasksList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigMaintenanceTask' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configpkiproviderslist.yaml b/docs/api/spec/components/schemas/configpkiproviderslist.yaml index 04147702a101..85a9a7ee04f5 100644 --- a/docs/api/spec/components/schemas/configpkiproviderslist.yaml +++ b/docs/api/spec/components/schemas/configpkiproviderslist.yaml @@ -3,7 +3,9 @@ ConfigPkiProvidersList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigPkiProvider' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configportalmodule.yaml b/docs/api/spec/components/schemas/configportalmodule.yaml index 338d8a85407e..eab33b7d06de 100644 --- a/docs/api/spec/components/schemas/configportalmodule.yaml +++ b/docs/api/spec/components/schemas/configportalmodule.yaml @@ -28,6 +28,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -89,6 +95,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -143,6 +155,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -194,6 +212,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -245,6 +269,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -334,6 +364,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -404,6 +440,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array forced_sponsor: description: Defines the sponsor email used. Leave empty so that the user has to specify a sponsor. @@ -459,6 +501,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -513,6 +561,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -567,6 +621,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -738,6 +798,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -786,6 +852,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -837,6 +909,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -891,6 +969,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -932,6 +1016,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -1031,6 +1121,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -1085,6 +1181,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -1212,6 +1314,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -1263,6 +1371,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -1292,19 +1406,6 @@ ConfigPortalModule: - landing_template type: object - properties: - actions: - description: Actions - items: - description: Action - properties: - arguments: - description: Arguments - type: string - type: - description: Type - type: string - type: object - type: array custom_fields: description: The additionnal fields that should be required for registration items: @@ -1314,6 +1415,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string @@ -1321,6 +1428,9 @@ ConfigPortalModule: description: The sources to use in the module. If no sources are specified, all the sources on the Connection Profile will be used type: string + template: + description: The template to use + type: string type: description: Type type: string @@ -1387,6 +1497,12 @@ ConfigPortalModule: description: description: The description that will be displayed to users type: string + fields_to_save: + description: These fields will be saved through the registration process + items: + description: These fields will be saved through the registration process + type: string + type: array id: description: Identifier type: string diff --git a/docs/api/spec/components/schemas/configportalmoduleslist.yaml b/docs/api/spec/components/schemas/configportalmoduleslist.yaml index f33ada965f46..5bafa1fe0253 100644 --- a/docs/api/spec/components/schemas/configportalmoduleslist.yaml +++ b/docs/api/spec/components/schemas/configportalmoduleslist.yaml @@ -3,7 +3,9 @@ ConfigPortalModulesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigPortalModule' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configrealmslist.yaml b/docs/api/spec/components/schemas/configrealmslist.yaml index f4d94d8b76e8..a212e670132f 100644 --- a/docs/api/spec/components/schemas/configrealmslist.yaml +++ b/docs/api/spec/components/schemas/configrealmslist.yaml @@ -3,7 +3,9 @@ ConfigRealmsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigRealm' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configroleslist.yaml b/docs/api/spec/components/schemas/configroleslist.yaml index 1b06eafed7a0..00df65d4974b 100644 --- a/docs/api/spec/components/schemas/configroleslist.yaml +++ b/docs/api/spec/components/schemas/configroleslist.yaml @@ -3,7 +3,9 @@ ConfigRolesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigRole' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configscanslist.yaml b/docs/api/spec/components/schemas/configscanslist.yaml index 0338a155cf1a..181f753fb9d4 100644 --- a/docs/api/spec/components/schemas/configscanslist.yaml +++ b/docs/api/spec/components/schemas/configscanslist.yaml @@ -3,7 +3,9 @@ ConfigScansList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigScan' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configsource.yaml b/docs/api/spec/components/schemas/configsource.yaml index c90b306224dd..1a5158632b9b 100644 --- a/docs/api/spec/components/schemas/configsource.yaml +++ b/docs/api/spec/components/schemas/configsource.yaml @@ -107,6 +107,23 @@ ConfigSource: description: The amount of times, the local account can be used after its created. 0 means infinite. type: integer + message: + description: SMS text message ($pin will be replaced by the PIN number) + type: string + pin_code_length: + description: The amount of digits of the PIN number. + type: integer + sms_activation_timeout: + description: This is the delay given to a guest who registered by sms confirmation + to fill the pin code. + properties: + interval: + description: Interval + type: integer + unit: + description: Unit + type: string + type: object sms_carriers: description: List of phone carriers available to the user items: @@ -119,6 +136,8 @@ ConfigSource: required: - id - description + - sms_activation_timeout + - pin_code_length type: object - properties: access_token_param: @@ -2134,7 +2153,7 @@ ConfigSource: type: string connection_timeout: description: LDAP connection Timeout - type: integer + type: string description: description: Description type: string @@ -2162,7 +2181,7 @@ ConfigSource: type: integer read_timeout: description: LDAP response timeout - type: integer + type: string realms: description: Realms that will be associated with this source items: @@ -2172,6 +2191,9 @@ ConfigSource: scope: description: Scope type: string + shuffle: + description: Randomly choose LDAP server to query + type: string type: description: Type type: string @@ -2180,7 +2202,7 @@ ConfigSource: type: string write_timeout: description: LDAP request timeout - type: integer + type: string required: - id - description @@ -2790,7 +2812,7 @@ ConfigSource: type: object type: array api_login_id: - description: Api login id + description: API login ID type: string authentication_rules: description: Authentication Rules @@ -2858,8 +2880,8 @@ ConfigSource: description: The amount of times, the local account can be used after its created. 0 means infinite. type: integer - md5_hash: - description: MD5 hash + public_client_key: + description: Public Client Key type: string send_email_confirmation: description: Send billing confirmation @@ -2878,7 +2900,7 @@ ConfigSource: - description - api_login_id - transaction_key - - md5_hash + - public_client_key - domains type: object - properties: @@ -3103,6 +3125,9 @@ ConfigSource: description: The amount of times, the local account can be used after its created. 0 means infinite. type: integer + message: + description: SMS text message ($pin will be replaced by the PIN number) + type: string pin_code_length: description: The length of the PIN code to be sent over sms type: integer @@ -3755,6 +3780,9 @@ ConfigSource: type: description: Type type: string + validate_sponsor: + description: Force sponsor to authenticate when validating a guest request. + type: string required: - id - description @@ -3862,7 +3890,7 @@ ConfigSource: type: string connection_timeout: description: LDAP connection Timeout - type: integer + type: string description: description: Description type: string @@ -3890,7 +3918,7 @@ ConfigSource: type: integer read_timeout: description: LDAP response timeout - type: integer + type: string realms: description: Realms that will be associated with this source items: @@ -3900,6 +3928,9 @@ ConfigSource: scope: description: Scope type: string + shuffle: + description: Randomly choose LDAP server to query + type: string type: description: Type type: string @@ -3908,7 +3939,7 @@ ConfigSource: type: string write_timeout: description: LDAP request timeout - type: integer + type: string required: - id - description diff --git a/docs/api/spec/components/schemas/configsourceslist.yaml b/docs/api/spec/components/schemas/configsourceslist.yaml index 90006268586e..2d2ef23b4c46 100644 --- a/docs/api/spec/components/schemas/configsourceslist.yaml +++ b/docs/api/spec/components/schemas/configsourceslist.yaml @@ -3,7 +3,9 @@ ConfigSourcesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigSource' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configswitch.yaml b/docs/api/spec/components/schemas/configswitch.yaml index d53f8cdbbf7a..57006bc035ae 100644 --- a/docs/api/spec/components/schemas/configswitch.yaml +++ b/docs/api/spec/components/schemas/configswitch.yaml @@ -6,6 +6,18 @@ ConfigSwitch: ExternalPortalEnforcement: description: Enable external portal enforcement when supported by network equipment type: string + REJECTAccessList: + description: REJECT + type: string + REJECTRole: + description: REJECT + type: string + REJECTUrl: + description: REJECT + type: string + REJECTVlan: + description: REJECT + type: string RoleMap: description: Role by Switch Role type: string @@ -119,15 +131,51 @@ ConfigSwitch: deauthMethod: description: Deauthentication Method type: string + defaultAccessList: + description: default + type: string + defaultRole: + description: default + type: string + defaultUrl: + description: default + type: string + defaultVlan: + description: default + type: string description: description: Description type: string disconnectPort: description: For Disconnect request, if we have to send to another port type: integer + gamingAccessList: + description: gaming + type: string + gamingRole: + description: gaming + type: string + gamingUrl: + description: gaming + type: string + gamingVlan: + description: gaming + type: string group: description: Changing the group requires to save to see the new default values type: string + guestAccessList: + description: guest + type: string + guestRole: + description: guest + type: string + guestUrl: + description: guest + type: string + guestVlan: + description: guest + type: string id: description: IP Address/MAC Address/Range (CIDR) type: string @@ -226,6 +274,18 @@ ConfigSwitch: description: Use CoA when available to deauthenticate the user. When disabled, RADIUS Disconnect will be used instead if it is available. type: string + voiceAccessList: + description: voice + type: string + voiceRole: + description: voice + type: string + voiceUrl: + description: voice + type: string + voiceVlan: + description: voice + type: string wsPwd: description: Password type: string diff --git a/docs/api/spec/components/schemas/configswitcheslist.yaml b/docs/api/spec/components/schemas/configswitcheslist.yaml index 6a0185ea652c..f5631caf09c0 100644 --- a/docs/api/spec/components/schemas/configswitcheslist.yaml +++ b/docs/api/spec/components/schemas/configswitcheslist.yaml @@ -3,7 +3,9 @@ ConfigSwitchesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigSwitch' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configswitchgroup.yaml b/docs/api/spec/components/schemas/configswitchgroup.yaml index 40f6a8f4958e..6ebc6d39803d 100644 --- a/docs/api/spec/components/schemas/configswitchgroup.yaml +++ b/docs/api/spec/components/schemas/configswitchgroup.yaml @@ -6,6 +6,18 @@ ConfigSwitchGroup: ExternalPortalEnforcement: description: Enable external portal enforcement when supported by network equipment type: string + REJECTAccessList: + description: REJECT + type: string + REJECTRole: + description: REJECT + type: string + REJECTUrl: + description: REJECT + type: string + REJECTVlan: + description: REJECT + type: string RoleMap: description: Role by Switch Role type: string @@ -119,15 +131,51 @@ ConfigSwitchGroup: deauthMethod: description: Deauthentication Method type: string + defaultAccessList: + description: default + type: string + defaultRole: + description: default + type: string + defaultUrl: + description: default + type: string + defaultVlan: + description: default + type: string description: description: Description type: string disconnectPort: description: For Disconnect request, if we have to send to another port type: integer + gamingAccessList: + description: gaming + type: string + gamingRole: + description: gaming + type: string + gamingUrl: + description: gaming + type: string + gamingVlan: + description: gaming + type: string group: description: Group type: string + guestAccessList: + description: guest + type: string + guestRole: + description: guest + type: string + guestUrl: + description: guest + type: string + guestVlan: + description: guest + type: string id: description: Group name type: string @@ -226,6 +274,18 @@ ConfigSwitchGroup: description: Use CoA when available to deauthenticate the user. When disabled, RADIUS Disconnect will be used instead if it is available. type: string + voiceAccessList: + description: voice + type: string + voiceRole: + description: voice + type: string + voiceUrl: + description: voice + type: string + voiceVlan: + description: voice + type: string wsPwd: description: Password type: string diff --git a/docs/api/spec/components/schemas/configswitchgroupslist.yaml b/docs/api/spec/components/schemas/configswitchgroupslist.yaml index 04a0997e1958..2a769169d9e9 100644 --- a/docs/api/spec/components/schemas/configswitchgroupslist.yaml +++ b/docs/api/spec/components/schemas/configswitchgroupslist.yaml @@ -3,7 +3,9 @@ ConfigSwitchGroupsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigSwitchGroup' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configsyslogparserslist.yaml b/docs/api/spec/components/schemas/configsyslogparserslist.yaml index f6f58314c98e..b1ddb3ae0241 100644 --- a/docs/api/spec/components/schemas/configsyslogparserslist.yaml +++ b/docs/api/spec/components/schemas/configsyslogparserslist.yaml @@ -3,7 +3,9 @@ ConfigSyslogParsersList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigSyslogParser' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configtrafficshapingpolicieslist.yaml b/docs/api/spec/components/schemas/configtrafficshapingpolicieslist.yaml index 8cd3ddab6e9a..4b5c4b2cf062 100644 --- a/docs/api/spec/components/schemas/configtrafficshapingpolicieslist.yaml +++ b/docs/api/spec/components/schemas/configtrafficshapingpolicieslist.yaml @@ -3,7 +3,9 @@ ConfigTrafficShapingPoliciesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigTrafficShapingPolicy' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/configviolation.yaml b/docs/api/spec/components/schemas/configviolation.yaml index 2c801fff667f..053cca1b83b0 100644 --- a/docs/api/spec/components/schemas/configviolation.yaml +++ b/docs/api/spec/components/schemas/configviolation.yaml @@ -116,5 +116,4 @@ ConfigViolation: the violation will open and the release date will be set for the last day of the current month). type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/configviolationslist.yaml b/docs/api/spec/components/schemas/configviolationslist.yaml index b073975fc7c8..04d44cfc6b40 100644 --- a/docs/api/spec/components/schemas/configviolationslist.yaml +++ b/docs/api/spec/components/schemas/configviolationslist.yaml @@ -3,7 +3,9 @@ ConfigViolationsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: List items: $ref: '#/components/schemas/ConfigViolation' type: array type: object + description: List diff --git a/docs/api/spec/components/schemas/dhcp.yaml b/docs/api/spec/components/schemas/dhcp.yaml index 2bccf3cb3270..5bbd1b8b50cd 100644 --- a/docs/api/spec/components/schemas/dhcp.yaml +++ b/docs/api/spec/components/schemas/dhcp.yaml @@ -2,7 +2,6 @@ DhcpMacIp: type: object description: The schema used when returning a DHCP MAC address and IPv4 address pair properties: - description: A MAC address and IPv4 address pair mac: type: string description: The MAC address diff --git a/docs/api/spec/components/schemas/dhcpoption82.yaml b/docs/api/spec/components/schemas/dhcpoption82.yaml index 96abb08e1e54..7e2cb3b358f4 100644 --- a/docs/api/spec/components/schemas/dhcpoption82.yaml +++ b/docs/api/spec/components/schemas/dhcpoption82.yaml @@ -18,5 +18,4 @@ DhcpOption82: type: string vlan: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/dhcpoption82slist.yaml b/docs/api/spec/components/schemas/dhcpoption82slist.yaml index 232eeb772422..7e8f6a5d0182 100644 --- a/docs/api/spec/components/schemas/dhcpoption82slist.yaml +++ b/docs/api/spec/components/schemas/dhcpoption82slist.yaml @@ -3,6 +3,7 @@ DhcpOption82sList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/DhcpOption82' type: array diff --git a/docs/api/spec/components/schemas/ip4log.yaml b/docs/api/spec/components/schemas/ip4log.yaml index 717d740a581d..f3998f949dda 100644 --- a/docs/api/spec/components/schemas/ip4log.yaml +++ b/docs/api/spec/components/schemas/ip4log.yaml @@ -10,5 +10,4 @@ Ip4log: type: string tenant_id: type: integer - required: [] type: object diff --git a/docs/api/spec/components/schemas/ip4logslist.yaml b/docs/api/spec/components/schemas/ip4logslist.yaml index 54c9c41ed164..e54cb67f64d3 100644 --- a/docs/api/spec/components/schemas/ip4logslist.yaml +++ b/docs/api/spec/components/schemas/ip4logslist.yaml @@ -3,6 +3,7 @@ Ip4logsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/Ip4log' type: array diff --git a/docs/api/spec/components/schemas/locationlog.yaml b/docs/api/spec/components/schemas/locationlog.yaml index 18eebadd5468..9e81659354ba 100644 --- a/docs/api/spec/components/schemas/locationlog.yaml +++ b/docs/api/spec/components/schemas/locationlog.yaml @@ -38,5 +38,4 @@ Locationlog: type: integer vlan: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/locationlogslist.yaml b/docs/api/spec/components/schemas/locationlogslist.yaml index 9a319b0bc67e..b788630e08be 100644 --- a/docs/api/spec/components/schemas/locationlogslist.yaml +++ b/docs/api/spec/components/schemas/locationlogslist.yaml @@ -3,6 +3,7 @@ LocationlogsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/Locationlog' type: array diff --git a/docs/api/spec/components/schemas/node.yaml b/docs/api/spec/components/schemas/node.yaml index 288f54ecac1e..fcc798fddd11 100644 --- a/docs/api/spec/components/schemas/node.yaml +++ b/docs/api/spec/components/schemas/node.yaml @@ -16,8 +16,10 @@ Node: type: string device_class: type: string - device_score: + device_manufacturer: type: string + device_score: + type: integer device_type: type: string device_version: @@ -62,5 +64,4 @@ Node: type: string voip: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/nodecategorieslist.yaml b/docs/api/spec/components/schemas/nodecategorieslist.yaml index e34c8d0d893c..2cd05376de8f 100644 --- a/docs/api/spec/components/schemas/nodecategorieslist.yaml +++ b/docs/api/spec/components/schemas/nodecategorieslist.yaml @@ -3,6 +3,7 @@ NodeCategoriesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/NodeCategory' type: array diff --git a/docs/api/spec/components/schemas/nodecategory.yaml b/docs/api/spec/components/schemas/nodecategory.yaml index afcfb5ceefbf..6277644c4bde 100644 --- a/docs/api/spec/components/schemas/nodecategory.yaml +++ b/docs/api/spec/components/schemas/nodecategory.yaml @@ -8,5 +8,4 @@ NodeCategory: type: string notes: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/nodeslist.yaml b/docs/api/spec/components/schemas/nodeslist.yaml index 0204d38fea3f..084426194fc3 100644 --- a/docs/api/spec/components/schemas/nodeslist.yaml +++ b/docs/api/spec/components/schemas/nodeslist.yaml @@ -3,6 +3,7 @@ NodesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/Node' type: array diff --git a/docs/api/spec/components/schemas/radiusauditlog.yaml b/docs/api/spec/components/schemas/radiusauditlog.yaml index 943d48db0511..bac25d264bcc 100644 --- a/docs/api/spec/components/schemas/radiusauditlog.yaml +++ b/docs/api/spec/components/schemas/radiusauditlog.yaml @@ -78,5 +78,4 @@ RadiusAuditLog: type: string uuid: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/radiusauditlogslist.yaml b/docs/api/spec/components/schemas/radiusauditlogslist.yaml index a52db9f56b79..04a8c571cb0a 100644 --- a/docs/api/spec/components/schemas/radiusauditlogslist.yaml +++ b/docs/api/spec/components/schemas/radiusauditlogslist.yaml @@ -3,6 +3,7 @@ RadiusAuditLogsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/RadiusAuditLog' type: array diff --git a/docs/api/spec/components/schemas/tenant.yaml b/docs/api/spec/components/schemas/tenant.yaml index d77bd892295c..fcd3a3b40db8 100644 --- a/docs/api/spec/components/schemas/tenant.yaml +++ b/docs/api/spec/components/schemas/tenant.yaml @@ -8,5 +8,4 @@ Tenant: type: string portal_domain_name: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/tenantslist.yaml b/docs/api/spec/components/schemas/tenantslist.yaml index 510dd8d08b45..60d4de344412 100644 --- a/docs/api/spec/components/schemas/tenantslist.yaml +++ b/docs/api/spec/components/schemas/tenantslist.yaml @@ -3,6 +3,7 @@ TenantsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/Tenant' type: array diff --git a/docs/api/spec/components/schemas/user.yaml b/docs/api/spec/components/schemas/user.yaml index 8162b428a557..c28f86fd2c22 100644 --- a/docs/api/spec/components/schemas/user.yaml +++ b/docs/api/spec/components/schemas/user.yaml @@ -50,6 +50,8 @@ User: type: string portal: type: string + psk: + type: string room_number: type: string source: @@ -64,5 +66,4 @@ User: type: string work_phone: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/userslist.yaml b/docs/api/spec/components/schemas/userslist.yaml index b27c5cfae349..643d116d3e45 100644 --- a/docs/api/spec/components/schemas/userslist.yaml +++ b/docs/api/spec/components/schemas/userslist.yaml @@ -3,6 +3,7 @@ UsersList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/User' type: array diff --git a/docs/api/spec/components/schemas/usersnode.yaml b/docs/api/spec/components/schemas/usersnode.yaml index cd9752181ce7..5a8da869d4b6 100644 --- a/docs/api/spec/components/schemas/usersnode.yaml +++ b/docs/api/spec/components/schemas/usersnode.yaml @@ -16,8 +16,10 @@ UsersNode: type: string device_class: type: string - device_score: + device_manufacturer: type: string + device_score: + type: integer device_type: type: string device_version: @@ -62,5 +64,4 @@ UsersNode: type: string voip: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/usersnodeslist.yaml b/docs/api/spec/components/schemas/usersnodeslist.yaml index a2ca27e7fc43..e5c08df857fe 100644 --- a/docs/api/spec/components/schemas/usersnodeslist.yaml +++ b/docs/api/spec/components/schemas/usersnodeslist.yaml @@ -3,6 +3,7 @@ UsersNodesList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/UsersNode' type: array diff --git a/docs/api/spec/components/schemas/usersnodeslocationlog.yaml b/docs/api/spec/components/schemas/usersnodeslocationlog.yaml index 9e263acbb3ee..9c4811af285b 100644 --- a/docs/api/spec/components/schemas/usersnodeslocationlog.yaml +++ b/docs/api/spec/components/schemas/usersnodeslocationlog.yaml @@ -38,5 +38,4 @@ UsersNodesLocationlog: type: integer vlan: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/usersnodeslocationlogslist.yaml b/docs/api/spec/components/schemas/usersnodeslocationlogslist.yaml index 6daf105ee6ed..9c266abdd99e 100644 --- a/docs/api/spec/components/schemas/usersnodeslocationlogslist.yaml +++ b/docs/api/spec/components/schemas/usersnodeslocationlogslist.yaml @@ -3,6 +3,7 @@ UsersNodesLocationlogsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/UsersNodesLocationlog' type: array diff --git a/docs/api/spec/components/schemas/userspassword.yaml b/docs/api/spec/components/schemas/userspassword.yaml index ddd63c5fd1eb..4a945a5ca12c 100644 --- a/docs/api/spec/components/schemas/userspassword.yaml +++ b/docs/api/spec/components/schemas/userspassword.yaml @@ -22,5 +22,4 @@ UsersPassword: type: string valid_from: type: string - required: [] type: object diff --git a/docs/api/spec/components/schemas/userspasswordlist.yaml b/docs/api/spec/components/schemas/userspasswordlist.yaml index b9bb9a5376cb..7656e675009f 100644 --- a/docs/api/spec/components/schemas/userspasswordlist.yaml +++ b/docs/api/spec/components/schemas/userspasswordlist.yaml @@ -3,6 +3,7 @@ UsersPasswordList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/UsersPassword' type: array diff --git a/docs/api/spec/components/schemas/violation.yaml b/docs/api/spec/components/schemas/violation.yaml index b01ac219610d..00af40f85eed 100644 --- a/docs/api/spec/components/schemas/violation.yaml +++ b/docs/api/spec/components/schemas/violation.yaml @@ -18,5 +18,4 @@ Violation: type: string vid: type: integer - required: [] type: object diff --git a/docs/api/spec/components/schemas/violationslist.yaml b/docs/api/spec/components/schemas/violationslist.yaml index c3aff8b9af87..c55562c911f5 100644 --- a/docs/api/spec/components/schemas/violationslist.yaml +++ b/docs/api/spec/components/schemas/violationslist.yaml @@ -3,6 +3,7 @@ ViolationsList: - $ref: '#/components/schemas/Iterable' - properties: items: + description: Items items: $ref: '#/components/schemas/Violation' type: array diff --git a/docs/api/spec/paths/config/admin_role.yaml b/docs/api/spec/paths/config/admin_role.yaml index e21edd3fa85d..afd0505a13be 100644 --- a/docs/api/spec/paths/config/admin_role.yaml +++ b/docs/api/spec/paths/config/admin_role.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigAdminRole' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/admin_roles.yaml b/docs/api/spec/paths/config/admin_roles.yaml index 1d529e7dc00d..b621f90322b2 100644 --- a/docs/api/spec/paths/config/admin_roles.yaml +++ b/docs/api/spec/paths/config/admin_roles.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigAdminRolesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/base.yaml b/docs/api/spec/paths/config/base.yaml index 5212b2575ced..d80b19fbdd1e 100644 --- a/docs/api/spec/paths/config/base.yaml +++ b/docs/api/spec/paths/config/base.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigBase' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/bases.yaml b/docs/api/spec/paths/config/bases.yaml index 18f8e2aa4c8f..7dc913e8c176 100644 --- a/docs/api/spec/paths/config/bases.yaml +++ b/docs/api/spec/paths/config/bases.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigBasesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/billing_tier.yaml b/docs/api/spec/paths/config/billing_tier.yaml index d451b8dfe747..4a183e283928 100644 --- a/docs/api/spec/paths/config/billing_tier.yaml +++ b/docs/api/spec/paths/config/billing_tier.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigBillingTier' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/billing_tiers.yaml b/docs/api/spec/paths/config/billing_tiers.yaml index a192ed89c895..71f9d8d72703 100644 --- a/docs/api/spec/paths/config/billing_tiers.yaml +++ b/docs/api/spec/paths/config/billing_tiers.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigBillingTiersList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/connection_profile.yaml b/docs/api/spec/paths/config/connection_profile.yaml index 8d27122c3ea2..4385babb639d 100644 --- a/docs/api/spec/paths/config/connection_profile.yaml +++ b/docs/api/spec/paths/config/connection_profile.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigConnectionProfile' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/connection_profiles.yaml b/docs/api/spec/paths/config/connection_profiles.yaml index 6b7fc51b5c13..f766c7e03248 100644 --- a/docs/api/spec/paths/config/connection_profiles.yaml +++ b/docs/api/spec/paths/config/connection_profiles.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigConnectionProfilesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/device_registration.yaml b/docs/api/spec/paths/config/device_registration.yaml index 5db9d99f0e0e..61f33054d1cd 100644 --- a/docs/api/spec/paths/config/device_registration.yaml +++ b/docs/api/spec/paths/config/device_registration.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigDeviceRegistration' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/device_registrations.yaml b/docs/api/spec/paths/config/device_registrations.yaml index cc00776c65ec..1705be37952f 100644 --- a/docs/api/spec/paths/config/device_registrations.yaml +++ b/docs/api/spec/paths/config/device_registrations.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigDeviceRegistrationsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/domain.yaml b/docs/api/spec/paths/config/domain.yaml index 30f910661054..b2a503ceacb5 100644 --- a/docs/api/spec/paths/config/domain.yaml +++ b/docs/api/spec/paths/config/domain.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigDomain' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/domains.yaml b/docs/api/spec/paths/config/domains.yaml index 4c65e36f4cb5..0df2fc74535a 100644 --- a/docs/api/spec/paths/config/domains.yaml +++ b/docs/api/spec/paths/config/domains.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigDomainsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/firewall.yaml b/docs/api/spec/paths/config/firewall.yaml index 451998556cd4..5d88502cd723 100644 --- a/docs/api/spec/paths/config/firewall.yaml +++ b/docs/api/spec/paths/config/firewall.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigFirewall' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/firewalls.yaml b/docs/api/spec/paths/config/firewalls.yaml index 06226a4aaa11..d017c3e98bd6 100644 --- a/docs/api/spec/paths/config/firewalls.yaml +++ b/docs/api/spec/paths/config/firewalls.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigFirewallsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/floating_device.yaml b/docs/api/spec/paths/config/floating_device.yaml index dbf69f578724..b87c5a227cb9 100644 --- a/docs/api/spec/paths/config/floating_device.yaml +++ b/docs/api/spec/paths/config/floating_device.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigFloatingDevice' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/floating_devices.yaml b/docs/api/spec/paths/config/floating_devices.yaml index 60143db8ea31..83b207d30c9a 100644 --- a/docs/api/spec/paths/config/floating_devices.yaml +++ b/docs/api/spec/paths/config/floating_devices.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigFloatingDevicesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/maintenance_task.yaml b/docs/api/spec/paths/config/maintenance_task.yaml index 3ca0dc280fae..fb9243729381 100644 --- a/docs/api/spec/paths/config/maintenance_task.yaml +++ b/docs/api/spec/paths/config/maintenance_task.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigMaintenanceTask' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/maintenance_tasks.yaml b/docs/api/spec/paths/config/maintenance_tasks.yaml index d7fa3d49a67e..2366d82961fb 100644 --- a/docs/api/spec/paths/config/maintenance_tasks.yaml +++ b/docs/api/spec/paths/config/maintenance_tasks.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigMaintenanceTasksList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/pki_provider.yaml b/docs/api/spec/paths/config/pki_provider.yaml index cf22730c6bff..ae329241057f 100644 --- a/docs/api/spec/paths/config/pki_provider.yaml +++ b/docs/api/spec/paths/config/pki_provider.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigPkiProvider' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/pki_providers.yaml b/docs/api/spec/paths/config/pki_providers.yaml index 6e096997dc6d..dabcaff9abe0 100644 --- a/docs/api/spec/paths/config/pki_providers.yaml +++ b/docs/api/spec/paths/config/pki_providers.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigPkiProvidersList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/portal_module.yaml b/docs/api/spec/paths/config/portal_module.yaml index e365da2d697f..869f28fdf5f8 100644 --- a/docs/api/spec/paths/config/portal_module.yaml +++ b/docs/api/spec/paths/config/portal_module.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigPortalModule' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/portal_modules.yaml b/docs/api/spec/paths/config/portal_modules.yaml index 577142543013..5e7dc52a873e 100644 --- a/docs/api/spec/paths/config/portal_modules.yaml +++ b/docs/api/spec/paths/config/portal_modules.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigPortalModulesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/realm.yaml b/docs/api/spec/paths/config/realm.yaml index 705f96a263c4..d0ccc42a8b5c 100644 --- a/docs/api/spec/paths/config/realm.yaml +++ b/docs/api/spec/paths/config/realm.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigRealm' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/realms.yaml b/docs/api/spec/paths/config/realms.yaml index 2c3dcf4741fc..cbd83ec213a1 100644 --- a/docs/api/spec/paths/config/realms.yaml +++ b/docs/api/spec/paths/config/realms.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigRealmsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/role.yaml b/docs/api/spec/paths/config/role.yaml index c87cd6e52973..15dbffc1cbf2 100644 --- a/docs/api/spec/paths/config/role.yaml +++ b/docs/api/spec/paths/config/role.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigRole' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/roles.yaml b/docs/api/spec/paths/config/roles.yaml index fbbaa7f037cd..96b6e8f85ed6 100644 --- a/docs/api/spec/paths/config/roles.yaml +++ b/docs/api/spec/paths/config/roles.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigRolesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/scan.yaml b/docs/api/spec/paths/config/scan.yaml index 1e139bc4e4e5..79c306bc1613 100644 --- a/docs/api/spec/paths/config/scan.yaml +++ b/docs/api/spec/paths/config/scan.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigScan' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/scans.yaml b/docs/api/spec/paths/config/scans.yaml index ece1f3ab2535..3c15307a1ae3 100644 --- a/docs/api/spec/paths/config/scans.yaml +++ b/docs/api/spec/paths/config/scans.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigScansList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/source.yaml b/docs/api/spec/paths/config/source.yaml index e941b688b657..3440b69c15dc 100644 --- a/docs/api/spec/paths/config/source.yaml +++ b/docs/api/spec/paths/config/source.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigSource' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/sources.yaml b/docs/api/spec/paths/config/sources.yaml index 03a6fdbcca74..22e1614b8079 100644 --- a/docs/api/spec/paths/config/sources.yaml +++ b/docs/api/spec/paths/config/sources.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigSourcesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/switch.yaml b/docs/api/spec/paths/config/switch.yaml index 1712d738cda2..3e2969e8f699 100644 --- a/docs/api/spec/paths/config/switch.yaml +++ b/docs/api/spec/paths/config/switch.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigSwitch' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/switch_group.yaml b/docs/api/spec/paths/config/switch_group.yaml index 54b4432a6caa..3cd0bf07f89f 100644 --- a/docs/api/spec/paths/config/switch_group.yaml +++ b/docs/api/spec/paths/config/switch_group.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigSwitchGroup' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/switch_groups.yaml b/docs/api/spec/paths/config/switch_groups.yaml index 9eaf081a040f..f2870bfdf23a 100644 --- a/docs/api/spec/paths/config/switch_groups.yaml +++ b/docs/api/spec/paths/config/switch_groups.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigSwitchGroupsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/switches.yaml b/docs/api/spec/paths/config/switches.yaml index e841cc8476a4..59b6d0bea75d 100644 --- a/docs/api/spec/paths/config/switches.yaml +++ b/docs/api/spec/paths/config/switches.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigSwitchesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/syslog_parser.yaml b/docs/api/spec/paths/config/syslog_parser.yaml index 6a995d69c12f..d849c10ffb19 100644 --- a/docs/api/spec/paths/config/syslog_parser.yaml +++ b/docs/api/spec/paths/config/syslog_parser.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigSyslogParser' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/syslog_parsers.yaml b/docs/api/spec/paths/config/syslog_parsers.yaml index 87c8bfacdf4d..0725c5052596 100644 --- a/docs/api/spec/paths/config/syslog_parsers.yaml +++ b/docs/api/spec/paths/config/syslog_parsers.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigSyslogParsersList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/traffic_shaping_policies.yaml b/docs/api/spec/paths/config/traffic_shaping_policies.yaml index 82274563cf37..69928189676e 100644 --- a/docs/api/spec/paths/config/traffic_shaping_policies.yaml +++ b/docs/api/spec/paths/config/traffic_shaping_policies.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigTrafficShapingPoliciesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/traffic_shaping_policy.yaml b/docs/api/spec/paths/config/traffic_shaping_policy.yaml index 33e7d39e866d..b45b1d54573a 100644 --- a/docs/api/spec/paths/config/traffic_shaping_policy.yaml +++ b/docs/api/spec/paths/config/traffic_shaping_policy.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigTrafficShapingPolicy' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/violation.yaml b/docs/api/spec/paths/config/violation.yaml index b938a3d01d94..5f21e88e0f77 100644 --- a/docs/api/spec/paths/config/violation.yaml +++ b/docs/api/spec/paths/config/violation.yaml @@ -25,6 +25,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigViolation' + description: Item '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/config/violations.yaml b/docs/api/spec/paths/config/violations.yaml index 550e8158bb49..b19d76b767de 100644 --- a/docs/api/spec/paths/config/violations.yaml +++ b/docs/api/spec/paths/config/violations.yaml @@ -10,6 +10,7 @@ application/json: schema: $ref: '#/components/schemas/ConfigViolationsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/dhcp.yaml b/docs/api/spec/paths/dhcp.yaml index b75c97ef6faa..9a6df1297fa9 100644 --- a/docs/api/spec/paths/dhcp.yaml +++ b/docs/api/spec/paths/dhcp.yaml @@ -1,4 +1,10 @@ /dhcp/mac/{mac}: + parameters: + - name: mac + in: path + required: true + schema : + type: string get: summary: Get an IPv4 address by MAC address description: Performs a dhcp lookup and returns the IP address leased for the given MAC address @@ -13,6 +19,12 @@ $ref: "#/components/responses/DhcpMacResponse" /dhcp/ip/{ip}: + parameters: + - name: ip + in: path + required: true + schema : + type: string get: summary: Get a MAC address by IPv4 address description: Performs a dhcp lookup and returns the MAC address for the given IP address lease @@ -21,6 +33,12 @@ $ref: "#/components/responses/DhcpMacIp" /dhcp/stats/{interface}: + parameters: + - name: interface + in: path + required: true + schema : + type: string get: summary: Get interface statistics description: Shows detailed dhcp statistics for the given interface @@ -29,6 +47,12 @@ $ref: "#/components/responses/DhcpInterfaceStats" /dhcp/initialease/{interface}: + parameters: + - name: interface + in: path + required: true + schema : + type: string get: summary: Initialize an interface description: Initializes dhcp for a specific interface and returns statistics @@ -37,6 +61,12 @@ $ref: "#/components/responses/DhcpInterfaceInit" /dhcp/options/network/{network}: + parameters: + - name: network + in: path + required: true + schema : + type: string post: summary: Add options by network description: Add dhcp options for a Network @@ -55,9 +85,21 @@ $ref: "#/components/responses/BadRequest" /dhcp/options/mac/{mac}: + parameters: + - name: mac + in: path + required: true + schema : + type: string post: summary: Add options by MAC address description: Add dhcp options to a MAC address + parameters: + - name: mac + in: path + required: true + schema : + type: string responses: '200': $ref: "#/components/responses/DhcpMacResponse" @@ -66,6 +108,12 @@ delete: summary: Delete options by MAC address description: Removes dhcp options for a MAC address + parameters: + - name: mac + in: path + required: true + schema : + type: string responses: '200': $ref: "#/components/responses/DhcpMacResponse" diff --git a/docs/api/spec/paths/dhcp_option82.yaml b/docs/api/spec/paths/dhcp_option82.yaml index e5100358b58a..de3a883114cd 100644 --- a/docs/api/spec/paths/dhcp_option82.yaml +++ b/docs/api/spec/paths/dhcp_option82.yaml @@ -24,6 +24,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/DhcpOption82' @@ -46,7 +47,6 @@ application/json: schema: $ref: '#/components/schemas/DhcpOption82' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -67,7 +67,6 @@ application/json: schema: $ref: '#/components/schemas/DhcpOption82' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/dhcp_option82s.yaml b/docs/api/spec/paths/dhcp_option82s.yaml index 17fac97b8b51..11883ca3ee69 100644 --- a/docs/api/spec/paths/dhcp_option82s.yaml +++ b/docs/api/spec/paths/dhcp_option82s.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/DhcpOption82sList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/dhcp_option82s/search.yaml b/docs/api/spec/paths/dhcp_option82s/search.yaml index 818a38abcc16..c4e52d897c0d 100644 --- a/docs/api/spec/paths/dhcp_option82s/search.yaml +++ b/docs/api/spec/paths/dhcp_option82s/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/DhcpOption82sList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/ip4log.yaml b/docs/api/spec/paths/ip4log.yaml index 8c0f2997eee9..b90e2af77f5b 100644 --- a/docs/api/spec/paths/ip4log.yaml +++ b/docs/api/spec/paths/ip4log.yaml @@ -24,6 +24,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/Ip4log' @@ -46,7 +47,6 @@ application/json: schema: $ref: '#/components/schemas/Ip4log' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -67,7 +67,6 @@ application/json: schema: $ref: '#/components/schemas/Ip4log' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/ip4logs.yaml b/docs/api/spec/paths/ip4logs.yaml index 40af19cef303..d247ead69d9a 100644 --- a/docs/api/spec/paths/ip4logs.yaml +++ b/docs/api/spec/paths/ip4logs.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/Ip4logsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/ip4logs/search.yaml b/docs/api/spec/paths/ip4logs/search.yaml index 5bcda4a35045..9bd81848f59f 100644 --- a/docs/api/spec/paths/ip4logs/search.yaml +++ b/docs/api/spec/paths/ip4logs/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/Ip4logsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/locationlog.yaml b/docs/api/spec/paths/locationlog.yaml index d2f5c4dd3e81..cbd71c5219e6 100644 --- a/docs/api/spec/paths/locationlog.yaml +++ b/docs/api/spec/paths/locationlog.yaml @@ -24,6 +24,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/Locationlog' @@ -46,7 +47,6 @@ application/json: schema: $ref: '#/components/schemas/Locationlog' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -67,7 +67,6 @@ application/json: schema: $ref: '#/components/schemas/Locationlog' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/locationlogs.yaml b/docs/api/spec/paths/locationlogs.yaml index 5a01a6e0ef2a..917ad515e64e 100644 --- a/docs/api/spec/paths/locationlogs.yaml +++ b/docs/api/spec/paths/locationlogs.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/LocationlogsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/locationlogs/search.yaml b/docs/api/spec/paths/locationlogs/search.yaml index a86b4a4e3885..791a4e28dc90 100644 --- a/docs/api/spec/paths/locationlogs/search.yaml +++ b/docs/api/spec/paths/locationlogs/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/LocationlogsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/node.yaml b/docs/api/spec/paths/node.yaml index ac1deeaf5110..a183432572c5 100644 --- a/docs/api/spec/paths/node.yaml +++ b/docs/api/spec/paths/node.yaml @@ -10,7 +10,71 @@ responses: '204': description: Item deleted - description: pf::UnifiedApi::Controller::Nodes + description: |- + pf::UnifiedApi::Controller::Nodes + + register + register + + deregister + deregister + + bulk_register + bulk_register + + bulk_init_results + bulk_init_results + + bulk_deregister + bulk_deregister + + fingerbank_info + fingerbank_info + + fingerbank_refresh + fingerbank_refresh + + bulk_close_violations + bulk_close_violations + + close_violation + close_violation + + create_error_msg + create_error_msg + + bulk_reevaluate_access + bulk_reevaluate_access + + bulk_fingerbank_refresh + bulk_fingerbank_refresh + + bulk_restart_switchport + bulk_restart_switchport + + bulk_apply_violation + bulk_apply_violation + + apply_violation + apply_violation + + bulk_apply_role + bulk_apply_role + + bulk_apply_bypass_role + bulk_apply_bypass_role + + do_bulk_update_field + do_bulk_update_field + + restart_switchport + restart_switchport + + do_restart_switchport + do_restart_switchport + + reevaluate_access + reevaluate_access get: description: Get an item operationId: api.v1.Nodes.get @@ -24,6 +88,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/Node' @@ -46,7 +111,6 @@ application/json: schema: $ref: '#/components/schemas/Node' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -67,7 +131,6 @@ application/json: schema: $ref: '#/components/schemas/Node' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/node_categories.yaml b/docs/api/spec/paths/node_categories.yaml index 3d93fa92b0c1..82a1cd91b100 100644 --- a/docs/api/spec/paths/node_categories.yaml +++ b/docs/api/spec/paths/node_categories.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/NodeCategoriesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/node_categories/search.yaml b/docs/api/spec/paths/node_categories/search.yaml index b691125f69c2..fd80502b2f20 100644 --- a/docs/api/spec/paths/node_categories/search.yaml +++ b/docs/api/spec/paths/node_categories/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/NodeCategoriesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/node_category.yaml b/docs/api/spec/paths/node_category.yaml index 9ebba129c5df..ffef378644bc 100644 --- a/docs/api/spec/paths/node_category.yaml +++ b/docs/api/spec/paths/node_category.yaml @@ -13,6 +13,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/NodeCategory' diff --git a/docs/api/spec/paths/nodes.yaml b/docs/api/spec/paths/nodes.yaml index f8bbf62a1ba1..c488001360a3 100644 --- a/docs/api/spec/paths/nodes.yaml +++ b/docs/api/spec/paths/nodes.yaml @@ -1,5 +1,69 @@ /nodes: - description: pf::UnifiedApi::Controller::Nodes + description: |- + pf::UnifiedApi::Controller::Nodes + + register + register + + deregister + deregister + + bulk_register + bulk_register + + bulk_init_results + bulk_init_results + + bulk_deregister + bulk_deregister + + fingerbank_info + fingerbank_info + + fingerbank_refresh + fingerbank_refresh + + bulk_close_violations + bulk_close_violations + + close_violation + close_violation + + create_error_msg + create_error_msg + + bulk_reevaluate_access + bulk_reevaluate_access + + bulk_fingerbank_refresh + bulk_fingerbank_refresh + + bulk_restart_switchport + bulk_restart_switchport + + bulk_apply_violation + bulk_apply_violation + + apply_violation + apply_violation + + bulk_apply_role + bulk_apply_role + + bulk_apply_bypass_role + bulk_apply_bypass_role + + do_bulk_update_field + do_bulk_update_field + + restart_switchport + restart_switchport + + do_restart_switchport + do_restart_switchport + + reevaluate_access + reevaluate_access get: description: List items operationId: api.v1.Nodes.list @@ -14,6 +78,7 @@ application/json: schema: $ref: '#/components/schemas/NodesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/nodes/search.yaml b/docs/api/spec/paths/nodes/search.yaml index d9f4aa9bf79b..6171ace36721 100644 --- a/docs/api/spec/paths/nodes/search.yaml +++ b/docs/api/spec/paths/nodes/search.yaml @@ -1,5 +1,69 @@ /nodes/search: - description: pf::UnifiedApi::Controller::Nodes + description: |- + pf::UnifiedApi::Controller::Nodes + + register + register + + deregister + deregister + + bulk_register + bulk_register + + bulk_init_results + bulk_init_results + + bulk_deregister + bulk_deregister + + fingerbank_info + fingerbank_info + + fingerbank_refresh + fingerbank_refresh + + bulk_close_violations + bulk_close_violations + + close_violation + close_violation + + create_error_msg + create_error_msg + + bulk_reevaluate_access + bulk_reevaluate_access + + bulk_fingerbank_refresh + bulk_fingerbank_refresh + + bulk_restart_switchport + bulk_restart_switchport + + bulk_apply_violation + bulk_apply_violation + + apply_violation + apply_violation + + bulk_apply_role + bulk_apply_role + + bulk_apply_bypass_role + bulk_apply_bypass_role + + do_bulk_update_field + do_bulk_update_field + + restart_switchport + restart_switchport + + do_restart_switchport + do_restart_switchport + + reevaluate_access + reevaluate_access post: operationId: api.v1.Nodes.search parameters: [] @@ -15,6 +79,7 @@ application/json: schema: $ref: '#/components/schemas/NodesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/radius_audit_log.yaml b/docs/api/spec/paths/radius_audit_log.yaml index 76761630636c..d75fa121064a 100644 --- a/docs/api/spec/paths/radius_audit_log.yaml +++ b/docs/api/spec/paths/radius_audit_log.yaml @@ -24,6 +24,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/RadiusAuditLog' @@ -46,7 +47,6 @@ application/json: schema: $ref: '#/components/schemas/RadiusAuditLog' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -67,7 +67,6 @@ application/json: schema: $ref: '#/components/schemas/RadiusAuditLog' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/radius_audit_logs.yaml b/docs/api/spec/paths/radius_audit_logs.yaml index 2bb4f6ecad7d..8013c0d33585 100644 --- a/docs/api/spec/paths/radius_audit_logs.yaml +++ b/docs/api/spec/paths/radius_audit_logs.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/RadiusAuditLogsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/radius_audit_logs/search.yaml b/docs/api/spec/paths/radius_audit_logs/search.yaml index c961679bc8bf..b82f7e1de323 100644 --- a/docs/api/spec/paths/radius_audit_logs/search.yaml +++ b/docs/api/spec/paths/radius_audit_logs/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/RadiusAuditLogsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/tenant.yaml b/docs/api/spec/paths/tenant.yaml index 3c487e2cc669..2b765d6276e9 100644 --- a/docs/api/spec/paths/tenant.yaml +++ b/docs/api/spec/paths/tenant.yaml @@ -24,6 +24,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/Tenant' @@ -46,7 +47,6 @@ application/json: schema: $ref: '#/components/schemas/Tenant' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -67,7 +67,6 @@ application/json: schema: $ref: '#/components/schemas/Tenant' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/tenants.yaml b/docs/api/spec/paths/tenants.yaml index 55c3b6ae35d0..d04351fa139e 100644 --- a/docs/api/spec/paths/tenants.yaml +++ b/docs/api/spec/paths/tenants.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/TenantsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/tenants/search.yaml b/docs/api/spec/paths/tenants/search.yaml index 5ee77034f22a..94d49248eae1 100644 --- a/docs/api/spec/paths/tenants/search.yaml +++ b/docs/api/spec/paths/tenants/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/TenantsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/user.yaml b/docs/api/spec/paths/user.yaml index 63dd610b23d7..1c0575fcbe8b 100644 --- a/docs/api/spec/paths/user.yaml +++ b/docs/api/spec/paths/user.yaml @@ -24,6 +24,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/User' @@ -46,7 +47,6 @@ application/json: schema: $ref: '#/components/schemas/User' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -67,7 +67,6 @@ application/json: schema: $ref: '#/components/schemas/User' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/user/node.yaml b/docs/api/spec/paths/user/node.yaml index b69589409cc1..c72a58ec957f 100644 --- a/docs/api/spec/paths/user/node.yaml +++ b/docs/api/spec/paths/user/node.yaml @@ -32,6 +32,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/UsersNode' @@ -58,7 +59,6 @@ application/json: schema: $ref: '#/components/schemas/UsersNode' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -83,7 +83,6 @@ application/json: schema: $ref: '#/components/schemas/UsersNode' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/user/node/locationlog.yaml b/docs/api/spec/paths/user/node/locationlog.yaml index 5ae725153f76..443a2462bc4f 100644 --- a/docs/api/spec/paths/user/node/locationlog.yaml +++ b/docs/api/spec/paths/user/node/locationlog.yaml @@ -32,6 +32,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/UsersNodesLocationlog' @@ -58,7 +59,6 @@ application/json: schema: $ref: '#/components/schemas/UsersNodesLocationlog' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -83,7 +83,6 @@ application/json: schema: $ref: '#/components/schemas/UsersNodesLocationlog' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/user/node/locationlogs.yaml b/docs/api/spec/paths/user/node/locationlogs.yaml index 55e5a52d482a..1f4f1573477a 100644 --- a/docs/api/spec/paths/user/node/locationlogs.yaml +++ b/docs/api/spec/paths/user/node/locationlogs.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/UsersNodesLocationlogsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/user/node/locationlogs/search.yaml b/docs/api/spec/paths/user/node/locationlogs/search.yaml index 79f01bf1f2d9..305cbb040ea9 100644 --- a/docs/api/spec/paths/user/node/locationlogs/search.yaml +++ b/docs/api/spec/paths/user/node/locationlogs/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/UsersNodesLocationlogsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/user/nodes.yaml b/docs/api/spec/paths/user/nodes.yaml index c89baad9a682..08fb52532bbe 100644 --- a/docs/api/spec/paths/user/nodes.yaml +++ b/docs/api/spec/paths/user/nodes.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/UsersNodesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/user/nodes/search.yaml b/docs/api/spec/paths/user/nodes/search.yaml index 5ba83f17575f..6c3d3c110be8 100644 --- a/docs/api/spec/paths/user/nodes/search.yaml +++ b/docs/api/spec/paths/user/nodes/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/UsersNodesList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/user/password.yaml b/docs/api/spec/paths/user/password.yaml index 24b7a5dc21b7..c58d802b6b22 100644 --- a/docs/api/spec/paths/user/password.yaml +++ b/docs/api/spec/paths/user/password.yaml @@ -24,6 +24,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/UsersPassword' @@ -46,7 +47,6 @@ application/json: schema: $ref: '#/components/schemas/UsersPassword' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -86,7 +86,6 @@ application/json: schema: $ref: '#/components/schemas/UsersPassword' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/user/password/search.yaml b/docs/api/spec/paths/user/password/search.yaml index c13cf5f022d4..996c5af4099c 100644 --- a/docs/api/spec/paths/user/password/search.yaml +++ b/docs/api/spec/paths/user/password/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/UsersPasswordList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/users.yaml b/docs/api/spec/paths/users.yaml index 0edd29a22f8a..0a4277368133 100644 --- a/docs/api/spec/paths/users.yaml +++ b/docs/api/spec/paths/users.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/UsersList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/users/search.yaml b/docs/api/spec/paths/users/search.yaml index 9dfe1fbe3caf..3a2a9cdde8fb 100644 --- a/docs/api/spec/paths/users/search.yaml +++ b/docs/api/spec/paths/users/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/UsersList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/violation.yaml b/docs/api/spec/paths/violation.yaml index 1789868102d4..66e7ab612d8c 100644 --- a/docs/api/spec/paths/violation.yaml +++ b/docs/api/spec/paths/violation.yaml @@ -24,6 +24,7 @@ content: application/json: schema: + description: Item properties: item: $ref: '#/components/schemas/Violation' @@ -46,7 +47,6 @@ application/json: schema: $ref: '#/components/schemas/Violation' - required: '1' responses: '200': $ref: '#/components/responses/Message' @@ -67,7 +67,6 @@ application/json: schema: $ref: '#/components/schemas/Violation' - required: '1' responses: '200': $ref: '#/components/responses/Message' diff --git a/docs/api/spec/paths/violations.yaml b/docs/api/spec/paths/violations.yaml index fb5a59fc517f..35c4a0b5b689 100644 --- a/docs/api/spec/paths/violations.yaml +++ b/docs/api/spec/paths/violations.yaml @@ -14,6 +14,7 @@ application/json: schema: $ref: '#/components/schemas/ViolationsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/docs/api/spec/paths/violations/search.yaml b/docs/api/spec/paths/violations/search.yaml index 5ba2bd73bf21..0ff9d016d63d 100644 --- a/docs/api/spec/paths/violations/search.yaml +++ b/docs/api/spec/paths/violations/search.yaml @@ -15,6 +15,7 @@ application/json: schema: $ref: '#/components/schemas/ViolationsList' + description: List '400': $ref: '#/components/responses/BadRequest' '422': diff --git a/html/pfappserver/lib/pfappserver/PacketFence/Controller/Configuration.pm b/html/pfappserver/lib/pfappserver/PacketFence/Controller/Configuration.pm index 32aedc476eb2..0acfe460cc24 100644 --- a/html/pfappserver/lib/pfappserver/PacketFence/Controller/Configuration.pm +++ b/html/pfappserver/lib/pfappserver/PacketFence/Controller/Configuration.pm @@ -33,49 +33,18 @@ use pf::config qw( ); use pf::admin_roles; use pfappserver::Form::Config::Pf; +use pf::constants::pfconf; BEGIN {extends 'pfappserver::Base::Controller'; } =head1 METHODS -=cut - -=head2 _process_section - -=cut - -our %ALLOWED_SECTIONS = ( - active_active => undef, - advanced => undef, - alerting => undef, - captive_portal => undef, - database => undef, - database_advanced => undef, - fencing => undef, - general => undef, - inline => undef, - metadefender => undef, - mse_tab => undef, - network => undef, - node_import => undef, - parking => undef, - ports => undef, - provisioning => undef, - proxies => undef, - services => undef, - snmp_traps => undef, - webservices => undef, - guests_admin_registration => undef, - radius_authentication_methods => undef, -); - =head2 index =cut sub index :Path :Args(0) { } - =head2 section The generic handler for all pf sections @@ -88,7 +57,7 @@ sub section :Path :Args(1) :AdminRole('CONFIGURATION_MAIN_READ') { $c->stash->{doc_anchor} = exists($Doc_Config{$section}) ? $Doc_Config{$section}{guide_anchor} : undef; - if (exists $ALLOWED_SECTIONS{$section} ) { + if (exists $pf::constants::pfconf::ALLOWED_SECTIONS{$section} ) { my ($params, $form); my ($status,$status_msg,$results); diff --git a/lib/pf/UnifiedApi/GenerateSpec.pm b/lib/pf/UnifiedApi/GenerateSpec.pm index 7c603117dd3d..bbb7ad1f0ef9 100644 --- a/lib/pf/UnifiedApi/GenerateSpec.pm +++ b/lib/pf/UnifiedApi/GenerateSpec.pm @@ -53,10 +53,13 @@ sub formsToSchema { sub objectSchema { my ($form) = @_; + my $required = formHandlerRequiredProperties($form); return { type => 'object', properties => formHandlerProperties($form), - required => formHandlerRequiredProperties($form), + ( + @$required != 0 ? (required => $required) : () + ), } } @@ -147,7 +150,8 @@ sub listSchema { type => 'array', 'items' => { '$ref' => "#/components/schemas/$name" - } + }, + description => "List", } }, }; diff --git a/lib/pf/UnifiedApi/OpenAPI/Generator/Config.pm b/lib/pf/UnifiedApi/OpenAPI/Generator/Config.pm index 209eabbb8e90..af8b6ed6ed3d 100644 --- a/lib/pf/UnifiedApi/OpenAPI/Generator/Config.pm +++ b/lib/pf/UnifiedApi/OpenAPI/Generator/Config.pm @@ -17,6 +17,7 @@ use warnings; use Module::Load; use Moo; use pf::UnifiedApi::GenerateSpec; +use pf::constants::pfconf; extends qw(pf::UnifiedApi::OpenAPI::Generator); @@ -149,6 +150,7 @@ sub listResponses { my ( $self, $scope, $c, $m, $a ) = @_; return { "200" => { + description => "List", content => { "application/json" => { schema => { @@ -176,6 +178,7 @@ sub getResponses { my ( $self, $scope, $c, $m, $a ) = @_; return { "200" => { + description => "Item", content => { "application/json" => { schema => { @@ -206,6 +209,7 @@ sub generateSchemas { my @forms = buildForms($controller); return { $list_path => { + description => "List", allOf => [ { '$ref' => "#/components/schemas/Iterable" }, { @@ -214,8 +218,9 @@ sub generateSchemas { "items" => { "\$ref" => "#$item_path", }, - "type" => "array" - } + "type" => "array", + "description" => "List", + }, }, "type" => "object" }, @@ -290,10 +295,11 @@ sub buildForms { my @form_classes; if ( $controller->can("type_lookup") ) { @form_classes = values %{ $controller->type_lookup }; - } - else { + } else { my $form_class = $controller->form_class; - return if $form_class eq 'pfappserver::Form::Config::Pf'; + if ($form_class eq 'pfappserver::Form::Config::Pf') { + return map { $form_class->new( section => $_ ) } keys %pf::constants::pfconf::ALLOWED_SECTIONS; + } @form_classes = ( $controller->form_class ); } diff --git a/lib/pf/UnifiedApi/OpenAPI/Generator/Crud.pm b/lib/pf/UnifiedApi/OpenAPI/Generator/Crud.pm index b893688f5197..7b0cb64d7d1d 100644 --- a/lib/pf/UnifiedApi/OpenAPI/Generator/Crud.pm +++ b/lib/pf/UnifiedApi/OpenAPI/Generator/Crud.pm @@ -172,13 +172,13 @@ The OpenAPI Operation Repsonses for the get action sub getResponses { my ($self, $scope, $c, $m, $a) = @_; - my @paths = split('/', $a->{path}); return { "200" => { description => "Get item", content => { "application/json" => { schema => { + description => "Item", properties => { item => { "\$ref" => "#" . $self->schemaItemPath($c), @@ -298,6 +298,7 @@ sub listResponses { my ( $self, $scope, $c, $m, $a ) = @_; return { "200" => { + description => "List", content => { "application/json" => { schema => { @@ -364,7 +365,6 @@ sub updateRequestBody { } } }, - "required" => "1" }; } @@ -417,9 +417,12 @@ generate Item Schema sub generateItemSchema { my ($self, $controller, $actions) = @_; + my $required = $self->itemRequired($controller, $actions); return { properties => $self->itemProperies($controller, $actions), - required => $self->itemRequired($controller, $actions), + ( + @$required != 0 ? ( required => $required) : (), + ), type => 'object' }; } @@ -481,7 +484,8 @@ sub generateListSchema { "items" => { "\$ref" => "#" . $self->schemaItemPath($controller), }, - "type" => "array" + "type" => "array", + "description" => "Items", } }, "type" => "object" diff --git a/sbin/pfmon b/sbin/pfmon index 4106de2e3b08..d510d354c899 100755 --- a/sbin/pfmon +++ b/sbin/pfmon @@ -288,7 +288,7 @@ sub _runtask { my $final_interval = $interval - $time_taken; $logger->trace("$task_id is sleeping for $final_interval ($interval from configuration - $time_taken)"); # Only wait if the interval is positive - if ($final_interval > 1) { + if ($final_interval >= 1) { alarm $final_interval; pause; last unless $running;