Inschakelen
Voor de hele instantie, of voor één formulier
Launch-validatie heeft twee instellingen. De strengste van de twee geldt.
Voor de hele instantie: LAUNCH_VALIDATION
De omgevingsvariabele LAUNCH_VALIDATION geldt voor elk formulier:
off- geen controle aan de serverkant: de job draait met de extravars die de browser of de aanroeper stuurde.log- elke start wordt gecontroleerd; wat geweigerd zou worden, wordt als waarschuwing in het log geschreven, en de start draait nog net als voorheen.enforce(standaard) - een ongeldige start wordt geweigerd, en een geldige start draait met de extravars die de server opbouwt.
Een lege of onbekende waarde betekent ook enforce. Wijzigingen gaan in zonder herstart.
Upgraden verandert het gedrag. Een instantie die
LAUNCH_VALIDATIONniet instelt, dwingt na de upgrade elke start af. Scripts diePOST /api/v2/jobaanroepen zonderrawFormData, of met waarden die de regels van een formulier overtreden, worden geweigerd met een422. StelLAUNCH_VALIDATION=login vóór het upgraden om te zien wat geweigerd zou worden, ofoffom het oude gedrag te behouden (zie Uitrollen).
Voor één formulier: launchValidation
Een formulier kan zijn eigen niveau instellen:
- name: Create VM
type: ansible
roles:
- default
playbook: vm.yml
launchValidation: enforce # off | log | enforce
fields:
- name: vm_name
type: text
required: true
Gebruik deze instelling op een instantie die op off of log draait, voor een formulier waarvan je weet dat het via REST wordt gestart: dat formulier wordt afgedwongen, de rest van de instantie niet. Het kan ook in de ontwerper worden ingesteld, in de formulierinstellingen.
Een formulier kan strenger worden gemaakt dan de instantie, nooit soepeler. Staat LAUNCH_VALIDATION op enforce, dan heeft launchValidation: off van een formulier geen effect: een formulier kan de beslissing van een beheerder niet terzijde schuiven.
Wizardformulieren gebruiken het ook: een wizardstart wordt stap voor stap gecontroleerd, elke stap tegen zijn eigen subformulier (zie Wizardformulieren).