From ConnectionSettings.schema.yaml (bifrost/ConnectionSettings.schema
)
---
$id: https://skeleton.botmd.io/bifrost/ConnectionSettings.schema
$schema: http://json-schema.org/draft-07/schema#
title: Connection Settings
description: Connection settings contain the inforamtion that the connections are initiaited with.
type: object
additionalProperties: false
required: []
properties:
cron:
$ref: "#/definitions/cron"
google_sheets:
$ref: "#/definitions/google_sheets"
kronos:
$ref: "#/definitions/kronos"
moneta:
$ref: "#/definitions/moneta"
onform:
$ref: "#/definitions/onform"
ratatoskr:
$ref: "#/definitions/ratatoskr"
#end properties
definitions:
cron:
title: Cron
description: Cron connection settings.
type: object
google_sheets:
title: Google Sheets
description: Google Sheets connection settings.
type: object
properties:
credentials:
title: Google Credentials.
description: Google service account credentials in JSON format used with `Credentials.from_service_account_info`. It can be found in `https://console.cloud.google.com/apis/credentials`.
type: object
additionalProperties: true
url:
title: URL
description: The URL of the Google Sheet used by the connection. The sheet should be shared with the service account e-mail in the `credentials`.
type: string
format: uri
#end properties
#end google_sheets
kronos:
title: Kronos
description: Kronos connection settings.
type: object
required: []
additionalProperties: false
properties:
oneoffs:
title: Oneoffs
description: Array of datetimes for one off schedules.
type: array
minItems: 1
items:
type: string
format: date-time
#end oneoffs
recurring_crons:
title: Recurring Crons
description: Array of recurring crons.
type: array
minItems: 1
items:
type: object
required: [expression]
additionalProperties: false
properties:
expression:
title: Expression
description: Cron expression. See examples on [https://crontab.guru/](Crontab Guru). We use [https://github.com/kiorky/croniter](croniter) for cron expression parsing.
type: string
day_or:
title: Day Or
description: Used to control how croniter handles day and day_of_week entries. Default option is the cron behaviour, which connects those values using OR. If the switch is set to False, the values are connected using AND. This behaves like fcron and enables you to e.g. define a job that executes each 2nd friday of a month by setting the days of month and the weekday.
type: boolean
tz:
title: Timezone
description: Timezone for the cron expression. Defaults to UTC.
type: string
#end properties
#end items
#end recurring_crons
#end properties
#end kronos
moneta:
title: Moneta
description: Moneta connection settings.
type: object
properties:
providers:
title: Providers.
description: Moneta providers UIDs used by this connection. There are multiple providers and they can be referred to by their `uid`.
type: array
uniqueItems: true
items:
type: string
minLength: 1
#end properties
#end moneta
onform:
title: Onform
description: Onform connection settings.
type: object
properties:
forms:
title: Forms.
description: The Onform V2 forms used by this connection. There are multiple forms and they can be referred to by either `uid` or `provider_id`.
type: array
uniqueItems: true
items:
type: string
minLength: 1
#end properties
#end onform
ratatoskr:
title: Ratatoskr
description: Ratatoskr connection settings.
type: object
properties:
provider_application:
title: Provider Application.
description: The Ratatoskr `ProviderApplication` used by this connection. It can be either `uid` or `name`.
type: string
minLength: 1
#end properties
#end ratatoskr
#end definitions