95 lines
2.8 KiB
Lua
95 lines
2.8 KiB
Lua
local typedefs = require "kong.db.schema.typedefs"
|
|
|
|
return {
|
|
name = "azure-functions",
|
|
fields = {
|
|
{ protocols = typedefs.protocols },
|
|
{
|
|
config = {
|
|
type = "record",
|
|
fields = {
|
|
-- connection basics
|
|
{
|
|
timeout = {
|
|
description = "Timeout in milliseconds before closing a connection to the Azure Functions server.",
|
|
type = "number",
|
|
default = 600000,
|
|
},
|
|
},
|
|
{
|
|
keepalive = {
|
|
description =
|
|
"Time in milliseconds during which an idle connection to the Azure Functions server lives before being closed.",
|
|
type = "number",
|
|
default = 60000
|
|
},
|
|
},
|
|
{
|
|
https = {
|
|
type = "boolean",
|
|
default = true,
|
|
description = "Use of HTTPS to connect with the Azure Functions server."
|
|
},
|
|
},
|
|
{
|
|
https_verify = {
|
|
description = "Set to `true` to authenticate the Azure Functions server.",
|
|
type = "boolean",
|
|
default = false,
|
|
},
|
|
},
|
|
-- authorization
|
|
{
|
|
apikey = {
|
|
description =
|
|
"The apikey to access the Azure resources. If provided, it is injected as the `x-functions-key` header.",
|
|
type = "string",
|
|
encrypted = true,
|
|
referenceable = true
|
|
},
|
|
}, -- encrypted = true is a Kong Enterprise Exclusive feature. It does nothing in Kong CE
|
|
{
|
|
clientid = {
|
|
description =
|
|
"The `clientid` to access the Azure resources. If provided, it is injected as the `x-functions-clientid` header.",
|
|
type = "string",
|
|
encrypted = true,
|
|
referenceable = true,
|
|
},
|
|
}, -- encrypted = true is a Kong Enterprise Exclusive feature. It does nothing in Kong CE
|
|
-- target/location
|
|
{
|
|
appname = {
|
|
description = "The Azure app name.",
|
|
type = "string",
|
|
required = true
|
|
},
|
|
},
|
|
{
|
|
hostdomain = {
|
|
description = "The domain where the function resides.",
|
|
type = "string",
|
|
required = true,
|
|
default = "azurewebsites.net",
|
|
},
|
|
},
|
|
{
|
|
routeprefix = {
|
|
description = "Route prefix to use.",
|
|
type = "string",
|
|
default = "api",
|
|
},
|
|
},
|
|
{
|
|
functionname = {
|
|
description = "Name of the Azure function to invoke.",
|
|
type = "string",
|
|
required = true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|