* enforce manifest version correctness against the CDK package being used * parse versions into parts for better comparisons and error checking * fix pr feedback and derp forgot to actually add the commit with the low-code manifests updated to the beta version * pr feedback and fix new tests since last rebase
89 lines
2.2 KiB
YAML
89 lines
2.2 KiB
YAML
version: "0.29.0"
|
|
|
|
definitions:
|
|
selector:
|
|
extractor:
|
|
field_path: []
|
|
requester:
|
|
url_base: "https://api.reply.io/v1/"
|
|
http_method: "GET"
|
|
request_headers:
|
|
x-api-key: "{{ config['api_key'] }}"
|
|
error_handler:
|
|
type: "CompositeErrorHandler"
|
|
error_handlers:
|
|
- response_filters:
|
|
- predicate: "{{ 'Too much requests' in response }}"
|
|
action: RETRY
|
|
backoff_strategies:
|
|
- type: "ConstantBackoffStrategy"
|
|
backoff_time_in_seconds: 15
|
|
retriever:
|
|
record_selector:
|
|
$ref: "#/definitions/selector"
|
|
paginator:
|
|
type: NoPagination
|
|
requester:
|
|
$ref: "#/definitions/requester"
|
|
|
|
base_stream:
|
|
retriever:
|
|
$ref: "#/definitions/retriever"
|
|
paginated_stream:
|
|
retriever:
|
|
$ref: "#/definitions/retriever"
|
|
record_selector:
|
|
extractor:
|
|
field_path: ["{{ parameters.name }}"]
|
|
paginator:
|
|
type: "DefaultPaginator"
|
|
page_size_option:
|
|
inject_into: "request_parameter"
|
|
field_name: "limit"
|
|
pagination_strategy:
|
|
type: "PageIncrement"
|
|
page_size: 1000
|
|
page_token_option:
|
|
type: RequestOption
|
|
inject_into: "request_parameter"
|
|
field_name: "page"
|
|
|
|
campaigns_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
$parameters:
|
|
name: "campaigns"
|
|
primary_key: "id"
|
|
path: "/campaigns"
|
|
email_accounts_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
$parameters:
|
|
name: "email_accounts"
|
|
primary_key: "id"
|
|
path: "/emailAccounts"
|
|
people_stream:
|
|
$ref: "#/definitions/paginated_stream"
|
|
$parameters:
|
|
name: "people"
|
|
primary_key: "id"
|
|
path: "/people"
|
|
templates_stream:
|
|
retriever:
|
|
$ref: "#/definitions/base_stream/retriever"
|
|
record_selector:
|
|
extractor:
|
|
field_path: ["userTemplates"]
|
|
$parameters:
|
|
name: "templates"
|
|
primary_key: "id"
|
|
path: "/templates"
|
|
|
|
streams:
|
|
- "#/definitions/campaigns_stream"
|
|
- "#/definitions/email_accounts_stream"
|
|
- "#/definitions/people_stream"
|
|
- "#/definitions/templates_stream"
|
|
|
|
check:
|
|
stream_names:
|
|
- "campaigns"
|