platypush/platypush/schemas/ngrok.py

32 lines
791 B
Python

from marshmallow import fields
from marshmallow.schema import Schema
from marshmallow.validate import OneOf
class NgrokTunnelSchema(Schema):
name = fields.String(
metadata=dict(
description='Tunnel friendly name or auto-generated name',
example='tcp-8080-my-tunnel',
)
)
protocol = fields.String(
allow_none=False,
attribute='proto',
validate=OneOf(['tcp', 'udp', 'http']),
metadata=dict(
description='Tunnel protocol',
example='tcp',
),
)
url = fields.String(
attribute='public_url',
required=True,
metadata=dict(
description='Public URL to the ngrok tunnel',
example='tcp://8.tcp.ngrok.io:12345',
)
)