25 lines
1.2 KiB
Python
25 lines
1.2 KiB
Python
from flask_wtf import FlaskForm
|
|
from wtforms import StringField, PasswordField, BooleanField, SubmitField, SelectField, DecimalField
|
|
from wtforms import validators, ValidationError
|
|
from wtforms.fields.html5 import EmailField
|
|
|
|
|
|
class DeployForm(FlaskForm):
|
|
servername = StringField('Име/Домейн:', [validators.Regexp(message='пример: myservice1.com, myservice2.local', regex='^[a-zA-Z0-9][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9]{0,1}\.([a-zA-Z]{1,6}|[a-zA-Z0-9-]{1,30}\.[a-zA-Z]{2,3})$')])
|
|
region = SelectField('Регион:')
|
|
vmpassword = StringField('Парола:', [validators.DataRequired()])
|
|
cpu = StringField('Процесорни ядра:')
|
|
mem = StringField('Памет:')
|
|
hdd = StringField('Дисково пространство:')
|
|
recipe = SelectField('Рецепта')
|
|
ipv4 = SelectField('Брой публични IP адреса', choices=[('1', '1'),('2', '2' ), ('3', '3')])
|
|
invite_key = StringField('Покана', [validators.DataRequired(), validators.Length(6,35)])
|
|
|
|
def validate_invite_key(self, field):
|
|
if field.data != 'inv1919':
|
|
raise ValidationError('Denied')
|
|
|
|
submit = SubmitField('Deploy')
|
|
|
|
|