* 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
103 lines
2.6 KiB
YAML
103 lines
2.6 KiB
YAML
version: "0.29.0"
|
|
|
|
definitions:
|
|
selector:
|
|
extractor:
|
|
field_path: ["data", "items"]
|
|
requester:
|
|
url_base: "https://api.partnerstack.com/api/v2/"
|
|
http_method: "GET"
|
|
authenticator:
|
|
type: BasicHttpAuthenticator
|
|
username: "{{ config['public_key'] }}"
|
|
password: "{{ config['private_key'] }}"
|
|
request_parameters:
|
|
min_created: "{{ timestamp(config['start_date']) * 1000 }}"
|
|
partition_router:
|
|
request_cursor_field: "min_updated"
|
|
cursor_field: "updated_at"
|
|
class_name: source_partnerstack.components.PartnerstackSlicer
|
|
retriever:
|
|
record_selector:
|
|
$ref: "#/definitions/selector"
|
|
paginator:
|
|
type: DefaultPaginator
|
|
pagination_strategy:
|
|
type: "CursorPagination"
|
|
cursor_value: "{{ last_records[-1]['key'] }}"
|
|
stop_condition: "{{ response.data.has_more is false }}"
|
|
page_size: 250
|
|
page_size_option:
|
|
field_name: "limit"
|
|
inject_into: "request_parameter"
|
|
page_token_option:
|
|
type: RequestOption
|
|
field_name: "starting_after"
|
|
inject_into: "request_parameter"
|
|
requester:
|
|
$ref: "#/definitions/requester"
|
|
partition_router:
|
|
$ref: "#/definitions/partition_router"
|
|
|
|
# base stream
|
|
base_stream:
|
|
retriever:
|
|
$ref: "#/definitions/retriever"
|
|
|
|
# stream definitions
|
|
customers_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
$parameters:
|
|
name: "customers"
|
|
primary_key: "key"
|
|
path: "/customers"
|
|
deals_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
$parameters:
|
|
name: "deals"
|
|
primary_key: "key"
|
|
path: "/deals"
|
|
groups_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
$parameters:
|
|
name: "groups"
|
|
primary_key: "key"
|
|
path: "/groups"
|
|
leads_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
$parameters:
|
|
name: "leads"
|
|
primary_key: "key"
|
|
path: "/leads"
|
|
partnerships_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
$parameters:
|
|
name: "partnerships"
|
|
primary_key: "key"
|
|
path: "/partnerships"
|
|
rewards_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
$parameters:
|
|
name: "rewards"
|
|
primary_key: "key"
|
|
path: "/rewards"
|
|
transactions_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
$parameters:
|
|
name: "transactions"
|
|
primary_key: "key"
|
|
path: "/transactions"
|
|
|
|
streams:
|
|
- "#/definitions/customers_stream"
|
|
- "#/definitions/deals_stream"
|
|
- "#/definitions/groups_stream"
|
|
- "#/definitions/leads_stream"
|
|
- "#/definitions/partnerships_stream"
|
|
- "#/definitions/rewards_stream"
|
|
- "#/definitions/transactions_stream"
|
|
|
|
check:
|
|
stream_names:
|
|
- "groups"
|