version: 22
extractors:
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-adwords
    namespace: tap_adwords
    label: Google Ads
    description: Advertising Platform
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: singer-io
        docs: https://hub.meltano.com/extractors/adwords.html
        repo: https://github.com/singer-io/tap-adwords
        pip_url: git+https://github.com/singer-io/tap-adwords.git
        capabilities:
        - properties
        - discover
        - state
        settings_group_validation:
        - - developer_token
          - oauth_client_id
          - oauth_client_secret
          - refresh_token
          - user_agent
          - customer_ids
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: developer_token
            kind: password
            label: Developer Token
            description: Your Developer Token for Google AdWord Application
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_client_id
            kind: password
            label: OAuth Client ID
            description: Your Google OAuth Client ID
            placeholder: Ex. 123456789012345.apps.googleusercontent.com
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_client_secret
            kind: password
            label: OAuth Client Secret
            description: Your Google OAuth Client Secret
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: refresh_token
            kind: oauth
            label: Access Token
            description: The Refresh Token generated through the OAuth flow run using
              your OAuth Client and your Developer Token
            oauth:
              provider: google-adwords
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: customer_ids
            label: Account ID(s)
            description: A comma-separated list of Ad Account IDs to replicate data
              from
            placeholder: Ex. 1234567890,1234567891,1234567892
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: end_date
            kind: date_iso8601
            description: Date up to when historical data will be extracted.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: user_agent
            value: tap-adwords via Meltano
            label: User Agent for your OAuth Client
            description: The User Agent for your OAuth Client (used in requests made
              to the AdWords API)
            placeholder: Ex. tap-adwords via Meltano <user@example.com>
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: conversion_window_days
            kind: integer
            value: 0
            label: Conversion Window Days
            description: How many Days before the Start Date to fetch data for Performance
              Reports
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: primary_keys
            kind: object
            value:
              KEYWORDS_PERFORMANCE_REPORT:
              - customerID
              - campaignID
              - adGroupID
              - keywordID
              - day
              - network
              - device
              AD_PERFORMANCE_REPORT:
              - customerID
              - campaignID
              - adGroupID
              - adID
              - day
              - network
              - device
            label: Primary Keys
            description: Primary Keys for the selected Entities (Streams)
        select:
        - campaigns.*
        - ad_groups.*
        - ads.*
        - accounts.*
        - KEYWORDS_PERFORMANCE_REPORT.customerID
        - KEYWORDS_PERFORMANCE_REPORT.account
        - KEYWORDS_PERFORMANCE_REPORT.currency
        - KEYWORDS_PERFORMANCE_REPORT.timeZone
        - KEYWORDS_PERFORMANCE_REPORT.clientName
        - KEYWORDS_PERFORMANCE_REPORT.campaign
        - KEYWORDS_PERFORMANCE_REPORT.campaignID
        - KEYWORDS_PERFORMANCE_REPORT.campaignState
        - KEYWORDS_PERFORMANCE_REPORT.adGroup
        - KEYWORDS_PERFORMANCE_REPORT.adGroupID
        - KEYWORDS_PERFORMANCE_REPORT.adGroupState
        - KEYWORDS_PERFORMANCE_REPORT.day
        - KEYWORDS_PERFORMANCE_REPORT.network
        - KEYWORDS_PERFORMANCE_REPORT.device
        - KEYWORDS_PERFORMANCE_REPORT.clicks
        - KEYWORDS_PERFORMANCE_REPORT.cost
        - KEYWORDS_PERFORMANCE_REPORT.impressions
        - KEYWORDS_PERFORMANCE_REPORT.interactions
        - KEYWORDS_PERFORMANCE_REPORT.engagements
        - KEYWORDS_PERFORMANCE_REPORT.conversions
        - KEYWORDS_PERFORMANCE_REPORT.allConv
        - KEYWORDS_PERFORMANCE_REPORT.views
        - KEYWORDS_PERFORMANCE_REPORT.activeViewViewableImpressions
        - KEYWORDS_PERFORMANCE_REPORT.activeViewMeasurableImpr
        - KEYWORDS_PERFORMANCE_REPORT.activeViewMeasurableCost
        - KEYWORDS_PERFORMANCE_REPORT.gmailClicksToWebsite
        - KEYWORDS_PERFORMANCE_REPORT.gmailSaves
        - KEYWORDS_PERFORMANCE_REPORT.gmailForwards
        - KEYWORDS_PERFORMANCE_REPORT.keywordID
        - KEYWORDS_PERFORMANCE_REPORT.keyword
        - KEYWORDS_PERFORMANCE_REPORT.keywordState
        - KEYWORDS_PERFORMANCE_REPORT.criterionServingStatus
        - KEYWORDS_PERFORMANCE_REPORT.destinationURL
        - KEYWORDS_PERFORMANCE_REPORT.matchType
        - KEYWORDS_PERFORMANCE_REPORT.topOfPageCPC
        - KEYWORDS_PERFORMANCE_REPORT.firstPageCPC
        - KEYWORDS_PERFORMANCE_REPORT.imprAbsTop
        - KEYWORDS_PERFORMANCE_REPORT.activeViewAvgCPM
        - KEYWORDS_PERFORMANCE_REPORT.activeViewViewableCTR
        - KEYWORDS_PERFORMANCE_REPORT.activeViewMeasurableImprImpr
        - KEYWORDS_PERFORMANCE_REPORT.activeViewViewableImprMeasurableImpr
        - KEYWORDS_PERFORMANCE_REPORT.allConvRate
        - KEYWORDS_PERFORMANCE_REPORT.allConvValue
        - KEYWORDS_PERFORMANCE_REPORT.avgCost
        - KEYWORDS_PERFORMANCE_REPORT.avgCPC
        - KEYWORDS_PERFORMANCE_REPORT.avgCPE
        - KEYWORDS_PERFORMANCE_REPORT.avgCPM
        - KEYWORDS_PERFORMANCE_REPORT.avgCPV
        - KEYWORDS_PERFORMANCE_REPORT.avgPosition
        - KEYWORDS_PERFORMANCE_REPORT.convRate
        - KEYWORDS_PERFORMANCE_REPORT.totalConvValue
        - KEYWORDS_PERFORMANCE_REPORT.costAllConv
        - KEYWORDS_PERFORMANCE_REPORT.costConv
        - KEYWORDS_PERFORMANCE_REPORT.costConvCurrentModel
        - KEYWORDS_PERFORMANCE_REPORT.crossDeviceConv
        - KEYWORDS_PERFORMANCE_REPORT.ctr
        - KEYWORDS_PERFORMANCE_REPORT.conversionsCurrentModel
        - KEYWORDS_PERFORMANCE_REPORT.convValueCurrentModel
        - KEYWORDS_PERFORMANCE_REPORT.engagementRate
        - KEYWORDS_PERFORMANCE_REPORT.interactionRate
        - KEYWORDS_PERFORMANCE_REPORT.interactionTypes
        - KEYWORDS_PERFORMANCE_REPORT.imprTop
        - KEYWORDS_PERFORMANCE_REPORT.valueAllConv
        - KEYWORDS_PERFORMANCE_REPORT.valueConv
        - KEYWORDS_PERFORMANCE_REPORT.valueConvCurrentModel
        - KEYWORDS_PERFORMANCE_REPORT.videoPlayedTo100
        - KEYWORDS_PERFORMANCE_REPORT.videoPlayedTo25
        - KEYWORDS_PERFORMANCE_REPORT.videoPlayedTo50
        - KEYWORDS_PERFORMANCE_REPORT.videoPlayedTo75
        - KEYWORDS_PERFORMANCE_REPORT.viewRate
        - KEYWORDS_PERFORMANCE_REPORT.viewThroughConv
        - KEYWORDS_PERFORMANCE_REPORT.searchAbsTopIS
        - KEYWORDS_PERFORMANCE_REPORT.searchLostAbsTopISBudget
        - KEYWORDS_PERFORMANCE_REPORT.searchLostTopISBudget
        - KEYWORDS_PERFORMANCE_REPORT.searchExactMatchIS
        - KEYWORDS_PERFORMANCE_REPORT.searchImprShare
        - KEYWORDS_PERFORMANCE_REPORT.searchLostAbsTopISRank
        - KEYWORDS_PERFORMANCE_REPORT.searchLostISRank
        - KEYWORDS_PERFORMANCE_REPORT.searchLostTopISRank
        - KEYWORDS_PERFORMANCE_REPORT.searchTopIS
        - AD_PERFORMANCE_REPORT.customerID
        - AD_PERFORMANCE_REPORT.account
        - AD_PERFORMANCE_REPORT.currency
        - AD_PERFORMANCE_REPORT.timeZone
        - AD_PERFORMANCE_REPORT.clientName
        - AD_PERFORMANCE_REPORT.campaign
        - AD_PERFORMANCE_REPORT.campaignID
        - AD_PERFORMANCE_REPORT.campaignState
        - AD_PERFORMANCE_REPORT.adGroup
        - AD_PERFORMANCE_REPORT.adGroupID
        - AD_PERFORMANCE_REPORT.adGroupState
        - AD_PERFORMANCE_REPORT.day
        - AD_PERFORMANCE_REPORT.network
        - AD_PERFORMANCE_REPORT.device
        - AD_PERFORMANCE_REPORT.clicks
        - AD_PERFORMANCE_REPORT.cost
        - AD_PERFORMANCE_REPORT.impressions
        - AD_PERFORMANCE_REPORT.interactions
        - AD_PERFORMANCE_REPORT.engagements
        - AD_PERFORMANCE_REPORT.conversions
        - AD_PERFORMANCE_REPORT.allConv
        - AD_PERFORMANCE_REPORT.views
        - AD_PERFORMANCE_REPORT.activeViewViewableImpressions
        - AD_PERFORMANCE_REPORT.activeViewMeasurableImpr
        - AD_PERFORMANCE_REPORT.activeViewMeasurableCost
        - AD_PERFORMANCE_REPORT.gmailClicksToWebsite
        - AD_PERFORMANCE_REPORT.gmailSaves
        - AD_PERFORMANCE_REPORT.gmailForwards
        - AD_PERFORMANCE_REPORT.adID
        - AD_PERFORMANCE_REPORT.adState
        - AD_PERFORMANCE_REPORT.approvalStatus
        - AD_PERFORMANCE_REPORT.adType
        - AD_PERFORMANCE_REPORT.adStrength
        - AD_PERFORMANCE_REPORT.autoAppliedAdSuggestion
        - AD_PERFORMANCE_REPORT.ad
        - AD_PERFORMANCE_REPORT.descriptionLine1
        - AD_PERFORMANCE_REPORT.descriptionLine2
        - AD_PERFORMANCE_REPORT.finalURL
        - AD_PERFORMANCE_REPORT.displayURL
        - AD_PERFORMANCE_REPORT.description
        - AD_PERFORMANCE_REPORT.headline1
        - AD_PERFORMANCE_REPORT.headline2
        - AD_PERFORMANCE_REPORT.path1
        - AD_PERFORMANCE_REPORT.businessName
        - AD_PERFORMANCE_REPORT.callToActionTextResponsive
        - AD_PERFORMANCE_REPORT.shortHeadline
        - AD_PERFORMANCE_REPORT.longHeadline
        - AD_PERFORMANCE_REPORT.promotionTextResponsive
        - AD_PERFORMANCE_REPORT.responsiveSearchAdPath1
        - AD_PERFORMANCE_REPORT.responsiveSearchAdHeadlines
        - AD_PERFORMANCE_REPORT.responsiveSearchAdDescriptions
        - AD_PERFORMANCE_REPORT.gmailAdBusinessName
        - AD_PERFORMANCE_REPORT.gmailAdHeadline
        - AD_PERFORMANCE_REPORT.gmailAdDescription
        - AD_PERFORMANCE_REPORT.imageAdName
        - AD_PERFORMANCE_REPORT.businessNameMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.longHeadlineMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.headlinesMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.callToActionTextMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.promotionTextMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.imprAbsTop
        - AD_PERFORMANCE_REPORT.activeViewAvgCPM
        - AD_PERFORMANCE_REPORT.activeViewViewableCTR
        - AD_PERFORMANCE_REPORT.activeViewMeasurableImprImpr
        - AD_PERFORMANCE_REPORT.activeViewViewableImprMeasurableImpr
        - AD_PERFORMANCE_REPORT.allConvRate
        - AD_PERFORMANCE_REPORT.allConvValue
        - AD_PERFORMANCE_REPORT.avgCost
        - AD_PERFORMANCE_REPORT.avgCPC
        - AD_PERFORMANCE_REPORT.avgCPE
        - AD_PERFORMANCE_REPORT.avgCPM
        - AD_PERFORMANCE_REPORT.avgCPV
        - AD_PERFORMANCE_REPORT.avgPosition
        - AD_PERFORMANCE_REPORT.convRate
        - AD_PERFORMANCE_REPORT.totalConvValue
        - AD_PERFORMANCE_REPORT.costAllConv
        - AD_PERFORMANCE_REPORT.costConv
        - AD_PERFORMANCE_REPORT.costConvCurrentModel
        - AD_PERFORMANCE_REPORT.crossDeviceConv
        - AD_PERFORMANCE_REPORT.ctr
        - AD_PERFORMANCE_REPORT.conversionsCurrentModel
        - AD_PERFORMANCE_REPORT.convValueCurrentModel
        - AD_PERFORMANCE_REPORT.engagementRate
        - AD_PERFORMANCE_REPORT.interactionRate
        - AD_PERFORMANCE_REPORT.interactionTypes
        - AD_PERFORMANCE_REPORT.imprTop
        - AD_PERFORMANCE_REPORT.valueAllConv
        - AD_PERFORMANCE_REPORT.valueConv
        - AD_PERFORMANCE_REPORT.valueConvCurrentModel
        - AD_PERFORMANCE_REPORT.videoPlayedTo100
        - AD_PERFORMANCE_REPORT.videoPlayedTo25
        - AD_PERFORMANCE_REPORT.videoPlayedTo50
        - AD_PERFORMANCE_REPORT.videoPlayedTo75
        - AD_PERFORMANCE_REPORT.viewRate
        - AD_PERFORMANCE_REPORT.viewThroughConv
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        repo: https://gitlab.com/meltano/tap-adwords
        pip_url: git+https://gitlab.com/meltano/tap-adwords.git
        capabilities:
        - properties
        - discover
        - state
        settings_group_validation:
        - - developer_token
          - oauth_client_id
          - oauth_client_secret
          - refresh_token
          - user_agent
          - customer_ids
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: developer_token
            kind: password
            label: Developer Token
            description: Your Developer Token for Google AdWord Application
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_client_id
            kind: password
            label: OAuth Client ID
            description: Your Google OAuth Client ID
            placeholder: Ex. 123456789012345.apps.googleusercontent.com
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_client_secret
            kind: password
            label: OAuth Client Secret
            description: Your Google OAuth Client Secret
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: refresh_token
            kind: oauth
            label: Access Token
            description: The Refresh Token generated through the OAuth flow run using
              your OAuth Client and your Developer Token
            oauth:
              provider: google-adwords
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: customer_ids
            label: Account ID(s)
            description: A comma-separated list of Ad Account IDs to replicate data
              from
            placeholder: Ex. 1234567890,1234567891,1234567892
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: end_date
            kind: date_iso8601
            description: Date up to when historical data will be extracted.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: user_agent
            value: tap-adwords via Meltano
            label: User Agent for your OAuth Client
            description: The User Agent for your OAuth Client (used in requests made
              to the AdWords API)
            placeholder: Ex. tap-adwords via Meltano <user@example.com>
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: conversion_window_days
            kind: integer
            value: 0
            label: Conversion Window Days
            description: How many Days before the Start Date to fetch data for Performance
              Reports
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: primary_keys
            kind: object
            value:
              KEYWORDS_PERFORMANCE_REPORT:
              - customerID
              - campaignID
              - adGroupID
              - keywordID
              - day
              - network
              - device
              AD_PERFORMANCE_REPORT:
              - customerID
              - campaignID
              - adGroupID
              - adID
              - day
              - network
              - device
            label: Primary Keys
            description: Primary Keys for the selected Entities (Streams)
        hidden: true
        select:
        - campaigns.*
        - ad_groups.*
        - ads.*
        - accounts.*
        - KEYWORDS_PERFORMANCE_REPORT.customerID
        - KEYWORDS_PERFORMANCE_REPORT.account
        - KEYWORDS_PERFORMANCE_REPORT.currency
        - KEYWORDS_PERFORMANCE_REPORT.timeZone
        - KEYWORDS_PERFORMANCE_REPORT.clientName
        - KEYWORDS_PERFORMANCE_REPORT.campaign
        - KEYWORDS_PERFORMANCE_REPORT.campaignID
        - KEYWORDS_PERFORMANCE_REPORT.campaignState
        - KEYWORDS_PERFORMANCE_REPORT.adGroup
        - KEYWORDS_PERFORMANCE_REPORT.adGroupID
        - KEYWORDS_PERFORMANCE_REPORT.adGroupState
        - KEYWORDS_PERFORMANCE_REPORT.day
        - KEYWORDS_PERFORMANCE_REPORT.network
        - KEYWORDS_PERFORMANCE_REPORT.device
        - KEYWORDS_PERFORMANCE_REPORT.clicks
        - KEYWORDS_PERFORMANCE_REPORT.cost
        - KEYWORDS_PERFORMANCE_REPORT.impressions
        - KEYWORDS_PERFORMANCE_REPORT.interactions
        - KEYWORDS_PERFORMANCE_REPORT.engagements
        - KEYWORDS_PERFORMANCE_REPORT.conversions
        - KEYWORDS_PERFORMANCE_REPORT.allConv
        - KEYWORDS_PERFORMANCE_REPORT.views
        - KEYWORDS_PERFORMANCE_REPORT.activeViewViewableImpressions
        - KEYWORDS_PERFORMANCE_REPORT.activeViewMeasurableImpr
        - KEYWORDS_PERFORMANCE_REPORT.activeViewMeasurableCost
        - KEYWORDS_PERFORMANCE_REPORT.gmailClicksToWebsite
        - KEYWORDS_PERFORMANCE_REPORT.gmailSaves
        - KEYWORDS_PERFORMANCE_REPORT.gmailForwards
        - KEYWORDS_PERFORMANCE_REPORT.keywordID
        - KEYWORDS_PERFORMANCE_REPORT.keyword
        - KEYWORDS_PERFORMANCE_REPORT.keywordState
        - KEYWORDS_PERFORMANCE_REPORT.criterionServingStatus
        - KEYWORDS_PERFORMANCE_REPORT.destinationURL
        - KEYWORDS_PERFORMANCE_REPORT.matchType
        - KEYWORDS_PERFORMANCE_REPORT.topOfPageCPC
        - KEYWORDS_PERFORMANCE_REPORT.firstPageCPC
        - KEYWORDS_PERFORMANCE_REPORT.imprAbsTop
        - KEYWORDS_PERFORMANCE_REPORT.activeViewAvgCPM
        - KEYWORDS_PERFORMANCE_REPORT.activeViewViewableCTR
        - KEYWORDS_PERFORMANCE_REPORT.activeViewMeasurableImprImpr
        - KEYWORDS_PERFORMANCE_REPORT.activeViewViewableImprMeasurableImpr
        - KEYWORDS_PERFORMANCE_REPORT.allConvRate
        - KEYWORDS_PERFORMANCE_REPORT.allConvValue
        - KEYWORDS_PERFORMANCE_REPORT.avgCost
        - KEYWORDS_PERFORMANCE_REPORT.avgCPC
        - KEYWORDS_PERFORMANCE_REPORT.avgCPE
        - KEYWORDS_PERFORMANCE_REPORT.avgCPM
        - KEYWORDS_PERFORMANCE_REPORT.avgCPV
        - KEYWORDS_PERFORMANCE_REPORT.avgPosition
        - KEYWORDS_PERFORMANCE_REPORT.convRate
        - KEYWORDS_PERFORMANCE_REPORT.totalConvValue
        - KEYWORDS_PERFORMANCE_REPORT.costAllConv
        - KEYWORDS_PERFORMANCE_REPORT.costConv
        - KEYWORDS_PERFORMANCE_REPORT.costConvCurrentModel
        - KEYWORDS_PERFORMANCE_REPORT.crossDeviceConv
        - KEYWORDS_PERFORMANCE_REPORT.ctr
        - KEYWORDS_PERFORMANCE_REPORT.conversionsCurrentModel
        - KEYWORDS_PERFORMANCE_REPORT.convValueCurrentModel
        - KEYWORDS_PERFORMANCE_REPORT.engagementRate
        - KEYWORDS_PERFORMANCE_REPORT.interactionRate
        - KEYWORDS_PERFORMANCE_REPORT.interactionTypes
        - KEYWORDS_PERFORMANCE_REPORT.imprTop
        - KEYWORDS_PERFORMANCE_REPORT.valueAllConv
        - KEYWORDS_PERFORMANCE_REPORT.valueConv
        - KEYWORDS_PERFORMANCE_REPORT.valueConvCurrentModel
        - KEYWORDS_PERFORMANCE_REPORT.videoPlayedTo100
        - KEYWORDS_PERFORMANCE_REPORT.videoPlayedTo25
        - KEYWORDS_PERFORMANCE_REPORT.videoPlayedTo50
        - KEYWORDS_PERFORMANCE_REPORT.videoPlayedTo75
        - KEYWORDS_PERFORMANCE_REPORT.viewRate
        - KEYWORDS_PERFORMANCE_REPORT.viewThroughConv
        - KEYWORDS_PERFORMANCE_REPORT.searchAbsTopIS
        - KEYWORDS_PERFORMANCE_REPORT.searchLostAbsTopISBudget
        - KEYWORDS_PERFORMANCE_REPORT.searchLostTopISBudget
        - KEYWORDS_PERFORMANCE_REPORT.searchExactMatchIS
        - KEYWORDS_PERFORMANCE_REPORT.searchImprShare
        - KEYWORDS_PERFORMANCE_REPORT.searchLostAbsTopISRank
        - KEYWORDS_PERFORMANCE_REPORT.searchLostISRank
        - KEYWORDS_PERFORMANCE_REPORT.searchLostTopISRank
        - KEYWORDS_PERFORMANCE_REPORT.searchTopIS
        - AD_PERFORMANCE_REPORT.customerID
        - AD_PERFORMANCE_REPORT.account
        - AD_PERFORMANCE_REPORT.currency
        - AD_PERFORMANCE_REPORT.timeZone
        - AD_PERFORMANCE_REPORT.clientName
        - AD_PERFORMANCE_REPORT.campaign
        - AD_PERFORMANCE_REPORT.campaignID
        - AD_PERFORMANCE_REPORT.campaignState
        - AD_PERFORMANCE_REPORT.adGroup
        - AD_PERFORMANCE_REPORT.adGroupID
        - AD_PERFORMANCE_REPORT.adGroupState
        - AD_PERFORMANCE_REPORT.day
        - AD_PERFORMANCE_REPORT.network
        - AD_PERFORMANCE_REPORT.device
        - AD_PERFORMANCE_REPORT.clicks
        - AD_PERFORMANCE_REPORT.cost
        - AD_PERFORMANCE_REPORT.impressions
        - AD_PERFORMANCE_REPORT.interactions
        - AD_PERFORMANCE_REPORT.engagements
        - AD_PERFORMANCE_REPORT.conversions
        - AD_PERFORMANCE_REPORT.allConv
        - AD_PERFORMANCE_REPORT.views
        - AD_PERFORMANCE_REPORT.activeViewViewableImpressions
        - AD_PERFORMANCE_REPORT.activeViewMeasurableImpr
        - AD_PERFORMANCE_REPORT.activeViewMeasurableCost
        - AD_PERFORMANCE_REPORT.gmailClicksToWebsite
        - AD_PERFORMANCE_REPORT.gmailSaves
        - AD_PERFORMANCE_REPORT.gmailForwards
        - AD_PERFORMANCE_REPORT.adID
        - AD_PERFORMANCE_REPORT.adState
        - AD_PERFORMANCE_REPORT.approvalStatus
        - AD_PERFORMANCE_REPORT.adType
        - AD_PERFORMANCE_REPORT.adStrength
        - AD_PERFORMANCE_REPORT.autoAppliedAdSuggestion
        - AD_PERFORMANCE_REPORT.ad
        - AD_PERFORMANCE_REPORT.descriptionLine1
        - AD_PERFORMANCE_REPORT.descriptionLine2
        - AD_PERFORMANCE_REPORT.finalURL
        - AD_PERFORMANCE_REPORT.displayURL
        - AD_PERFORMANCE_REPORT.description
        - AD_PERFORMANCE_REPORT.headline1
        - AD_PERFORMANCE_REPORT.headline2
        - AD_PERFORMANCE_REPORT.path1
        - AD_PERFORMANCE_REPORT.businessName
        - AD_PERFORMANCE_REPORT.callToActionTextResponsive
        - AD_PERFORMANCE_REPORT.shortHeadline
        - AD_PERFORMANCE_REPORT.longHeadline
        - AD_PERFORMANCE_REPORT.promotionTextResponsive
        - AD_PERFORMANCE_REPORT.responsiveSearchAdPath1
        - AD_PERFORMANCE_REPORT.responsiveSearchAdHeadlines
        - AD_PERFORMANCE_REPORT.responsiveSearchAdDescriptions
        - AD_PERFORMANCE_REPORT.gmailAdBusinessName
        - AD_PERFORMANCE_REPORT.gmailAdHeadline
        - AD_PERFORMANCE_REPORT.gmailAdDescription
        - AD_PERFORMANCE_REPORT.imageAdName
        - AD_PERFORMANCE_REPORT.businessNameMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.longHeadlineMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.headlinesMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.callToActionTextMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.promotionTextMultiAssetResponsiveDisplay
        - AD_PERFORMANCE_REPORT.imprAbsTop
        - AD_PERFORMANCE_REPORT.activeViewAvgCPM
        - AD_PERFORMANCE_REPORT.activeViewViewableCTR
        - AD_PERFORMANCE_REPORT.activeViewMeasurableImprImpr
        - AD_PERFORMANCE_REPORT.activeViewViewableImprMeasurableImpr
        - AD_PERFORMANCE_REPORT.allConvRate
        - AD_PERFORMANCE_REPORT.allConvValue
        - AD_PERFORMANCE_REPORT.avgCost
        - AD_PERFORMANCE_REPORT.avgCPC
        - AD_PERFORMANCE_REPORT.avgCPE
        - AD_PERFORMANCE_REPORT.avgCPM
        - AD_PERFORMANCE_REPORT.avgCPV
        - AD_PERFORMANCE_REPORT.avgPosition
        - AD_PERFORMANCE_REPORT.convRate
        - AD_PERFORMANCE_REPORT.totalConvValue
        - AD_PERFORMANCE_REPORT.costAllConv
        - AD_PERFORMANCE_REPORT.costConv
        - AD_PERFORMANCE_REPORT.costConvCurrentModel
        - AD_PERFORMANCE_REPORT.crossDeviceConv
        - AD_PERFORMANCE_REPORT.ctr
        - AD_PERFORMANCE_REPORT.conversionsCurrentModel
        - AD_PERFORMANCE_REPORT.convValueCurrentModel
        - AD_PERFORMANCE_REPORT.engagementRate
        - AD_PERFORMANCE_REPORT.interactionRate
        - AD_PERFORMANCE_REPORT.interactionTypes
        - AD_PERFORMANCE_REPORT.imprTop
        - AD_PERFORMANCE_REPORT.valueAllConv
        - AD_PERFORMANCE_REPORT.valueConv
        - AD_PERFORMANCE_REPORT.valueConvCurrentModel
        - AD_PERFORMANCE_REPORT.videoPlayedTo100
        - AD_PERFORMANCE_REPORT.videoPlayedTo25
        - AD_PERFORMANCE_REPORT.videoPlayedTo50
        - AD_PERFORMANCE_REPORT.videoPlayedTo75
        - AD_PERFORMANCE_REPORT.viewRate
        - AD_PERFORMANCE_REPORT.viewThroughConv
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-ask-nicely
    namespace: tap_ask_nicely
    label: AskNicely
    description: Customer Experience Platform
    variant: mashey
    docs: https://hub.meltano.com/extractors/ask-nicely
    repo: https://github.com/Mashey/tap-ask-nicely
    pip_url: git+https://github.com/Mashey/tap-ask-nicely.git
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - subdomain
      - api_key
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: subdomain
        label: Subdomain
        description: The subdomain of your Ask Nicely account.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: api_key
        kind: password
        label: API Key
        documentation: https://asknicely.asknice.ly/help/apidocs/auth
        description: The API Key generated via your Ask Nicely account.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-bigquery
    namespace: tap_bigquery
    label: BigQuery
    description: BigQuery data warehouse extractor
    variant: anelendata
    docs: https://hub.meltano.com/extractors/bigquery.html
    repo: https://github.com/anelendata/tap-bigquery
    pip_url: tap-bigquery
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - streams
      - start_datetime
      - credentials_path
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: streams
        kind: array
        description: Array holding objects describing streams (tables) to extract,
          with `name`, `table`, `columns`, `datetime_key`, and `filters` keys. See
          docs for details.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: credentials_path
        value: $MELTANO_PROJECT_ROOT/client_secrets.json
        description: Fully qualified path to `client_secrets.json` for your service
          account.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_datetime
        kind: date_iso8601
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: end_datetime
        kind: date_iso8601
        description: Date up to when historical data will be extracted.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: limit
        kind: integer
        description: Limits the number of records returned in each stream, applied
          as a limit in the query.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_always_inclusive
        kind: boolean
        value: true
        description: When replicating incrementally, disable to only select records
          whose `datetime_key` is greater than the maximum value replicated in the
          last run, by excluding records whose timestamps match exactly. This could
          cause records to be missed that were created after the last run finished,
          but during the same second and with the same timestamp.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-bing-ads
    namespace: tap_bing_ads
    label: Bing Ads
    description: Advertising Platform
    variant: singer-io
    docs: https://hub.meltano.com/extractors/bing-ads.html
    repo: https://github.com/singer-io/tap-bing-ads
    pip_url: tap-bing-ads
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - customer_id
      - account_ids
      - oauth_client_id
      - oauth_client_secret
      - refresh_token
      - developer_token
      - start_date
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: developer_token
        kind: password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: oauth_client_id
        kind: password
        label: OAuth Client ID
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: oauth_client_secret
        kind: password
        label: OAuth Client Secret
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: refresh_token
        kind: password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: customer_id
        label: Customer ID
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: account_ids
        label: Account ID(s)
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
    metadata:
      ad_group_performance_report:
        AbsoluteTopImpressionSharePercent:
          inclusion: available
          selected: false
        AbsoluteTopImpressionRatePercent:
          inclusion: available
          selected: false
        AbsoluteTopImpressionShareLostToBudgetPercent:
          inclusion: available
          selected: false
        AbsoluteTopImpressionShareLostToRankPercent:
          inclusion: available
          selected: false
        AudienceImpressionLostToBudgetPercent:
          inclusion: available
          selected: false
        AudienceImpressionLostToRankPercent:
          inclusion: available
          selected: false
        AudienceImpressionSharePercent:
          inclusion: available
          selected: false
        ClickSharePercent:
          inclusion: available
          selected: false
        ExactMatchImpressionSharePercent:
          inclusion: available
          selected: false
        ImpressionLostToAdRelevancePercent:
          inclusion: available
          selected: false
        ImpressionLostToBidPercent:
          inclusion: available
          selected: false
        ImpressionLostToBudgetPercent:
          inclusion: available
          selected: false
        ImpressionLostToExpectedCtrPercent:
          inclusion: available
          selected: false
        ImpressionLostToRankPercent:
          inclusion: available
          selected: false
        ImpressionLostToRankAggPercent:
          inclusion: available
          selected: false
        ImpressionSharePercent:
          inclusion: available
          selected: false
        TopImpressionRatePercent:
          inclusion: available
          selected: false
        TopImpressionShareLostToBudgetPercent:
          inclusion: available
          selected: false
        TopImpressionShareLostToRankPercent:
          inclusion: available
          selected: false
        TopImpressionSharePercent:
          inclusion: available
          selected: false
      campaign_performance_report:
        AbsoluteTopImpressionSharePercent:
          inclusion: available
          selected: false
        AbsoluteTopImpressionRatePercent:
          inclusion: available
          selected: false
        AbsoluteTopImpressionShareLostToBudgetPercent:
          inclusion: available
          selected: false
        AbsoluteTopImpressionShareLostToRankPercent:
          inclusion: available
          selected: false
        AudienceImpressionLostToBudgetPercent:
          inclusion: available
          selected: false
        AudienceImpressionLostToRankPercent:
          inclusion: available
          selected: false
        AudienceImpressionSharePercent:
          inclusion: available
          selected: false
        ClickSharePercent:
          inclusion: available
          selected: false
        ExactMatchImpressionSharePercent:
          inclusion: available
          selected: false
        ImpressionLostToAdRelevancePercent:
          inclusion: available
          selected: false
        ImpressionLostToBidPercent:
          inclusion: available
          selected: false
        ImpressionLostToBudgetPercent:
          inclusion: available
          selected: false
        ImpressionLostToExpectedCtrPercent:
          inclusion: available
          selected: false
        ImpressionLostToRankPercent:
          inclusion: available
          selected: false
        ImpressionLostToRankAggPercent:
          inclusion: available
          selected: false
        ImpressionSharePercent:
          inclusion: available
          selected: false
        TopImpressionRatePercent:
          inclusion: available
          selected: false
        TopImpressionShareLostToBudgetPercent:
          inclusion: available
          selected: false
        TopImpressionShareLostToRankPercent:
          inclusion: available
          selected: false
        TopImpressionSharePercent:
          inclusion: available
          selected: false
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-chargebee
    namespace: tap_chargebee
    label: Chargebee
    description: Subscription billing software
    variant: hotgluexyz
    docs: https://hub.meltano.com/extractors/chargebee.html
    repo: https://github.com/hotgluexyz/tap-chargebee
    pip_url: git+https://github.com/hotgluexyz/tap-chargebee.git
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - api_key
      - site
      - product_catalog
      - start_date
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: api_key
        kind: password
        label: API Key
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: site
        label: Chargebee Site
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: product_catalog
        label: Chargebee Product Catalog
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: select_fields_by_default
        kind: boolean
        value: true
        description: Select by default any new fields discovered in Quickbooks objects
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: state_message_threshold
        kind: integer
        value: 1000
        description: Generate a STATE message every N records
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: max_workers
        kind: integer
        value: 8
        label: Maximum number of threads to use
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-csv
    namespace: tap_csv
    label: Comma Separated Values (CSV)
    description: Generic data extractor of CSV (comma separated value) files
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltanolabs
        docs: https://hub.meltano.com/extractors/csv.html
        repo: https://github.com/MeltanoLabs/tap-csv
        pip_url: git+https://github.com/MeltanoLabs/tap-csv.git
        capabilities:
        - discover
        - catalog
        - state
        settings_group_validation:
        - - files
        - - csv_files_definition
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: files
            kind: array
            description: Array of objects with `entity`, `path`, and `keys` keys
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: csv_files_definition
            label: CSV Files Definition
            documentation: https://github.com/MeltanoLabs/tap-csv#settings
            description: Project-relative path to JSON file holding array of objects
              with `entity`, `path`, and `keys` keys
            placeholder: Ex. files-def.json
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        repo: https://gitlab.com/meltano/tap-csv
        pip_url: git+https://gitlab.com/meltano/tap-csv.git
        capabilities:
        - discover
        - catalog
        - state
        settings_group_validation:
        - - files
        - - csv_files_definition
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: files
            kind: array
            description: Array of objects with `entity`, `file`, and `keys` keys
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: csv_files_definition
            label: CSV Files Definition
            documentation: https://gitlab.com/meltano/tap-csv#run
            description: Project-relative path to JSON file holding array of objects
              with `entity`, `file`, and `keys` keys
            placeholder: Ex. files-def.json
        hidden: true
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-facebook
    namespace: tap_facebook
    label: Facebook Ads
    description: Advertising Platform
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: singer-io
        docs: https://hub.meltano.com/extractors/facebook.html
        repo: https://github.com/singer-io/tap-facebook
        pip_url: git+https://github.com/singer-io/tap-facebook.git
        capabilities:
        - properties
        - discover
        - state
        settings_group_validation:
        - - account_id
          - access_token
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: account_id
            label: Account ID
            description: Your Facebook Ads Account ID
            placeholder: Ex. 123456789012345
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: access_token
            kind: oauth
            label: Access Token
            description: User Token generated by Facebook OAuth handshake
            oauth:
              provider: facebook
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: end_date
            kind: date_iso8601
            description: Date up to when historical data will be extracted.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: insights_buffer_days
            kind: integer
            value: 0
            label: Ads Insights Buffer Days
            description: How many Days before the Start Date to fetch Ads Insights
              for
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: include_deleted
            kind: boolean
            label: Include Deleted Objects
            description: Determines if it should include deleted objects or not.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        repo: https://gitlab.com/meltano/tap-facebook
        pip_url: git+https://gitlab.com/meltano/tap-facebook.git
        capabilities:
        - properties
        - discover
        - state
        settings_group_validation:
        - - account_id
          - access_token
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: account_id
            label: Account ID
            description: Your Facebook Ads Account ID
            placeholder: Ex. 123456789012345
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: access_token
            kind: oauth
            label: Access Token
            description: User Token generated by Facebook OAuth handshake
            oauth:
              provider: facebook
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: end_date
            kind: date_iso8601
            description: Date up to when historical data will be extracted.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: insights_buffer_days
            kind: integer
            value: 0
            label: Ads Insights Buffer Days
            description: How many Days before the Start Date to fetch Ads Insights
              for
        hidden: true
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-fastly
    namespace: tap_fastly
    label: Fastly
    description: Edge cloud computing services provider
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: splitio
        docs: https://hub.meltano.com/extractors/fastly.html
        repo: https://github.com/splitio/tap-fastly
        pip_url: git+https://github.com/splitio/tap-fastly.git
        capabilities:
        - catalog
        - discover
        - state
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: api_token
            kind: password
            label: API Token
            description: Fastly token for authenticating with the API.
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            label: Start Date
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        docs: https://hub.meltano.com/extractors/fastly.html
        repo: https://gitlab.com/meltano/tap-fastly
        pip_url: git+https://gitlab.com/meltano/tap-fastly.git
        capabilities:
        - catalog
        - discover
        - state
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: api_token
            kind: password
            label: API Token
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            label: Start Date
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-gitlab
    namespace: tap_gitlab
    label: GitLab
    description: Single application for the entire DevOps lifecycle
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltanolabs
        docs: https://hub.meltano.com/extractors/gitlab.html
        repo: https://github.com/MeltanoLabs/tap-gitlab
        pip_url: git+https://github.com/MeltanoLabs/tap-gitlab.git
        capabilities:
        - catalog
        - discover
        - state
        settings_group_validation:
        - - api_url
          - groups
          - start_date
        - - api_url
          - projects
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: api_url
            value: https://gitlab.com
            label: GitLab Instance
            description: GitLab API/instance URL. When an API path is omitted, `/api/v4/`
              is assumed.
            protected: true
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: private_token
            kind: password
            value: ''
            label: Access Token
            description: GitLab personal access token or other API token.
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: groups
            value: ''
            label: Groups
            description: Space-separated names of groups to extract data from. Leave
              empty and provide a project name if you'd like to pull data from a project
              in a personal user namespace.
            placeholder: Ex. my-organization
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: projects
            value: ''
            label: Project
            description: Space-separated `namespace/project` paths of projects to
              extract data from. Leave empty and provide a group name to extract data
              from all group projects.
            placeholder: Ex. my-organization/project-1
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: ultimate_license
            kind: boolean
            value: false
            description: Enable to pull in extra data (like Epics, Epic Issues and
              other entities) only available to GitLab Ultimate and GitLab.com Gold
              accounts.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: fetch_merge_request_commits
            kind: boolean
            value: false
            description: For each Merge Request, also fetch the MR's commits and create
              the join table `merge_request_commits` with the Merge Request and related
              Commit IDs. This can slow down extraction considerably because of the
              many API calls required.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: fetch_pipelines_extended
            kind: boolean
            value: false
            description: For every Pipeline, also fetch extended details of each of
              these pipelines. This can slow down extraction considerably because
              of the many API calls required.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        repo: https://gitlab.com/meltano/tap-gitlab
        pip_url: git+https://gitlab.com/meltano/tap-gitlab.git
        capabilities:
        - catalog
        - discover
        - state
        settings_group_validation:
        - - api_url
          - groups
          - start_date
        - - api_url
          - projects
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: api_url
            value: https://gitlab.com
            label: GitLab Instance
            description: GitLab API/instance URL. When an API path is omitted, `/api/v4/`
              is assumed.
            protected: true
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: private_token
            kind: password
            value: ''
            label: Access Token
            description: GitLab personal access token or other API token.
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: groups
            value: ''
            label: Groups
            description: Space-separated names of groups to extract data from. Leave
              empty and provide a project name if you'd like to pull data from a project
              in a personal user namespace.
            placeholder: Ex. my-organization
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: projects
            value: ''
            label: Project
            description: Space-separated `namespace/project` paths of projects to
              extract data from. Leave empty and provide a group name to extract data
              from all group projects.
            placeholder: Ex. my-organization/project-1
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: ultimate_license
            kind: boolean
            value: false
            description: Enable to pull in extra data (like Epics, Epic Issues and
              other entities) only available to GitLab Ultimate and GitLab.com Gold
              accounts.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: fetch_merge_request_commits
            kind: boolean
            value: false
            description: For each Merge Request, also fetch the MR's commits and create
              the join table `merge_request_commits` with the Merge Request and related
              Commit IDs. This can slow down extraction considerably because of the
              many API calls required.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: fetch_pipelines_extended
            kind: boolean
            value: false
            description: For every Pipeline, also fetch extended details of each of
              these pipelines. This can slow down extraction considerably because
              of the many API calls required.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
        hidden: true
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-github
    namespace: tap_github
    label: GitHub
    description: Code hosting platform
    variant: singer-io
    docs: https://hub.meltano.com/extractors/github
    repo: https://github.com/singer-io/tap-github
    pip_url: git+https://github.com/singer-io/tap-github.git
    capabilities:
    - properties
    - discover
    - state
    settings_group_validation:
    - - access_token
      - repository
      - start_date
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: access_token
        kind: password
        label: Personal Access Tokens
        description: Personal access token used to authenticate with GitHub. The token
          can be generated by going to the [Personal Access Token settings page](https://github.com/settings/tokens).
        docs: https://github.com/settings/tokens
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: repository
        label: Repositories
        description: Space-separated list of repositories. Each repository must be
          prefaced by the user/organization name, e.g. `"meltano/meltano meltano/sdk
          meltano/hub"`
        placeholder: Ex. "meltano/meltano meltano/sdk meltano/hub"
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        label: Start Date
        description: Defines how far into the past to pull data for the provided repositories.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-google-analytics
    namespace: tap_google_analytics
    label: Google Analytics
    description: App and website analytics platform hosted by Google
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltanolabs
        docs: https://hub.meltano.com/extractors/google-analytics.html
        repo: https://github.com/MeltanoLabs/tap-google-analytics
        pip_url: git+https://github.com/MeltanoLabs/tap-google-analytics.git
        capabilities:
        - catalog
        - discover
        - state
        settings_group_validation:
        - - key_file_location
          - view_id
          - start_date
        - - client_secrets
          - view_id
          - start_date
        - - oauth_credentials.client_id
          - oauth_credentials.client_secret
          - oauth_credentials.access_token
          - oauth_credentials.refresh_token
          - view_id
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: key_file_location
            kind: file
            value: $MELTANO_PROJECT_ROOT/client_secrets.json
            label: Client Secrets File Location
            description: A file that contains the Google Analytics client secrets
              json.
            placeholder: Ex. client_secrets.json
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: client_secrets
            kind: object
            label: Client Secrets JSON
            description: An object that contains the Google Analytics client secrets.
            placeholder: Ex. client_secrets.json
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_credentials.client_id
            kind: password
            label: OAuth Client ID
            description: The Google Analytics oauth client ID.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_credentials.client_secret
            kind: password
            label: OAuth Client Secret
            description: The Google Analytics oauth client secret.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_credentials.access_token
            kind: password
            label: OAuth Access Token
            description: The Google Analytics oauth access token.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_credentials.refresh_token
            kind: password
            label: OAuth Refresh Token
            description: The Google Analytics oauth refresh token.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: view_id
            label: View ID
            description: The ID for the view to fetch data from.
            placeholder: Ex. 198343027
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: reports
            label: Reports
            description: The reports definition of which fields to retrieve from the
              view.
            placeholder: Ex. my_report_definition.json
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            label: Start Date
            description: This property determines how much historical data will be
              extracted. Please be aware that the larger the time period and amount
              of data, the longer the initial extraction can be expected to take.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: end_date
            kind: date_iso8601
            label: End Date
            description: Date up to when historical data will be extracted.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        docs: https://hub.meltano.com/extractors/google-analytics.html
        repo: https://gitlab.com/meltano/tap-google-analytics
        pip_url: git+https://gitlab.com/meltano/tap-google-analytics.git
        capabilities:
        - catalog
        - discover
        settings_group_validation:
        - - key_file_location
          - view_id
          - start_date
        - - oauth_credentials.client_id
          - oauth_credentials.client_secret
          - oauth_credentials.access_token
          - oauth_credentials.refresh_token
          - view_id
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: key_file_location
            kind: file
            value: $MELTANO_PROJECT_ROOT/client_secrets.json
            label: Client Secrets
            placeholder: Ex. client_secrets.json
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_credentials.client_id
            kind: password
            label: OAuth Client ID
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_credentials.client_secret
            kind: password
            label: OAuth Client Secret
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_credentials.access_token
            kind: password
            label: OAuth Access Token
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: oauth_credentials.refresh_token
            kind: password
            label: OAuth Refresh Token
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: view_id
            label: View ID
            placeholder: Ex. 198343027
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: reports
            label: Reports
            placeholder: Ex. my_report_definition.json
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: This property determines how much historical data will be
              extracted. Please be aware that the larger the time period and amount
              of data, the longer the initial extraction can be expected to take.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: end_date
            kind: date_iso8601
            description: Date up to when historical data will be extracted.
        hidden: true
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-google-sheets
    namespace: tap_google_sheets
    label: Google Sheets
    description: Cloud Spreadsheets
    variant: singer-io
    docs: https://hub.meltano.com/extractors/google-sheets
    repo: https://github.com/singer-io/tap-google-sheets
    pip_url: git+https://github.com/singer-io/tap-google-sheets.git
    capabilities:
    - discover
    - catalog
    - state
    settings_group_validation:
    - - client_id
      - client_secret
      - refresh_token
      - spreadsheet_id
      - start_date
      - user_agent
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_id
        label: Client ID
        documentation: https://drive.google.com/open?id=1FojlvtLwS0-BzGS37R0jEXtwSHqSiO1Uw-7RKQQO-C4
        description: This is the ID setup via the Google Cloud API.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_secret
        kind: password
        label: Client Secret
        documentation: https://drive.google.com/open?id=1FojlvtLwS0-BzGS37R0jEXtwSHqSiO1Uw-7RKQQO-C4
        description: This is generated when the client ID is created via the Google
          Cloud API.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: refresh_token
        kind: password
        label: Refresh Token
        documentation: https://drive.google.com/open?id=1FojlvtLwS0-BzGS37R0jEXtwSHqSiO1Uw-7RKQQO-C4
        description: This is the token used to generate new access_tokens. It is manually
          generated by making an API call to the Google Cloud API. See the [documentation](https://drive.google.com/open?id=1FojlvtLwS0-BzGS37R0jEXtwSHqSiO1Uw-7RKQQO-C4)
          for more information.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: spreadsheet_id
        label: Spreadsheet ID
        description: The unique identifier for a spreadsheet.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        label: Start Date
        description: The absolute minimum start date to check if a file was modified.
        placeholder: Ex. "2019-01-01T00:00:00Z"
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user_agent
        value: tap-google-sheets via Meltano
        label: User Agent
        description: Used to identify the tap in the Google Remote API logs.
        placeholder: Ex. "tap-google-search-console <api_user_email@example.com>"
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-hubspot
    namespace: tap_hubspot
    label: Hubspot
    description: Inbound Marketing software
    variant: singer-io
    docs: https://hub.meltano.com/extractors/hubspot
    repo: https://github.com/singer-io/tap-hubspot
    pip_url: git+https://github.com/singer-io/tap-hubspot.git
    capabilities:
    - discover
    - properties
    - state
    settings_group_validation:
    - - redirect_uri
      - client_id
      - client_secret
      - refresh_token
      - start_date
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: redirect_uri
        label: Redirect URI
        documentation: https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart
        description: This is the URL that the user will be redirected to after they
          authorize your app for the requested scopes
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_id
        label: Client ID
        documentation: https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart
        description: This identifies the app used to connect to HubSpot.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_secret
        kind: password
        label: Client Secret
        description: The client secret used for authentication.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: refresh_token
        kind: password
        label: Refresh Token
        description: This is the refresh token provided by HubSpot.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        label: Start Date
        description: This is the cutoff date for syncing historical data.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-intacct
    namespace: tap_intacct
    label: Sage Intacct
    description: Financial management software
    variant: hotgluexyz
    docs: https://hub.meltano.com/extractors/intacct.html
    repo: https://github.com/hotgluexyz/tap-intacct
    pip_url: git+https://github.com/hotgluexyz/tap-intacct.git
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - company_id
      - sender_id
      - sender_password
      - user_id
      - user_password
      - start_date
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: company_id
        label: Company Id
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: sender_id
        label: Intacct Sender Id
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: sender_password
        kind: password
        label: Intacct Sender Password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user_id
        label: Intacct User Id
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user_password
        kind: password
        label: Intacct User Password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: select_fields_by_default
        kind: boolean
        value: true
        description: Select by default any new fields discovered in Quickbooks objects
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: state_message_threshold
        kind: integer
        value: 1000
        description: Generate a STATE message every N records
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: max_workers
        kind: integer
        value: 8
        label: Maximum number of threads to use
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-jira
    namespace: tap_jira
    label: Jira
    description: Issue and Project Tracking Software
    variant: singer-io
    docs: https://hub.meltano.com/extractors/jira
    repo: https://github.com/singer-io/tap-jira
    pip_url: git+https://github.com/singer-io/tap-jira.git
    capabilities:
    - discover
    - properties
    - state
    settings_group_validation:
    - - username
      - password
      - base_url
      - start_date
      - user_agent
    - - oauth_client_secret
      - oauth_client_id
      - access_token
      - cloud_id
      - refresh_token
      - start_date
      - user_agent
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: username
        label: Username
        description: Your Jira username.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: password
        kind: password
        label: Password
        description: Your Jira password.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: base_url
        label: Base URL
        description: The base URL for your Jira instance.
        placeholder: Ex. "https://mycompany.atlassian.net"
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: oauth_client_secret
        kind: password
        label: OAuth Client Secret
        description: The client secret value used for OAuth authentication.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: oauth_client_id
        label: OAuth Client ID
        description: The client ID used for OAuth authentication.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: access_token
        kind: password
        label: Access Token
        description: The access token generated for your account.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: cloud_id
        label: Cloud ID
        description: The cloud ID of your JIRA instance.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: refresh_token
        kind: password
        label: Refresh Token
        description: The refresh token generated for your account.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        label: Start Date
        description: Specifies the date at which the tap will begin pulling data.
          This works only for the streams taht suppport it.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user_agent
        value: tap-jira via Meltano
        label: User Agent
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-marketo
    namespace: tap_marketo
    label: Marketo
    description: Marketing automation for account-based marketing
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: singer-io
        docs: https://hub.meltano.com/extractors/marketo.html
        repo: https://github.com/singer-io/tap-marketo
        pip_url: git+https://github.com/singer-io/tap-marketo.git
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: endpoint
            label: Endpoint
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: client_id
            label: Client ID
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: client_secret
            kind: password
            label: Client Secret
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            label: Start Date
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        repo: https://gitlab.com/meltano/tap-marketo
        pip_url: git+https://gitlab.com/meltano/tap-marketo.git
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: endpoint
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: identity
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: client_id
            label: Client ID
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: client_secret
            kind: password
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
        hidden: true
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-mongodb
    namespace: tap_mongodb
    label: MongoDB
    description: General purpose, document-based, distributed database
    variant: singer-io
    docs: https://hub.meltano.com/extractors/mongodb.html
    repo: https://github.com/singer-io/tap-mongodb
    pip_url: tap-mongodb
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - host
      - port
      - user
      - password
      - database
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: host
        value: localhost
        label: Host URL
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: port
        kind: integer
        value: 27017
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: password
        kind: password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: database
        label: Database Name
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: replica_set
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: ssl
        kind: boolean
        value: false
        label: SSL
        value_post_processor: stringify
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: verify_mode
        kind: boolean
        value: true
        description: SSL Verify Mode
        value_post_processor: stringify
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: include_schemas_in_destination_stream_name
        kind: boolean
        value: false
        description: Forces the stream names to take the form `<database_name>_<collection_name>`
          instead of `<collection_name>`
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-mysql
    namespace: tap_mysql
    label: MySQL / MariaDB
    description: MySQL / MariaDB database extractor
    variant: transferwise
    docs: https://hub.meltano.com/extractors/mysql.html
    repo: https://github.com/transferwise/pipelinewise-tap-mysql
    pip_url: pipelinewise-tap-mysql
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - host
      - port
      - user
      - password
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: host
        value: localhost
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: port
        kind: integer
        value: 3306
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: password
        kind: password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: database
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: ssl
        kind: boolean
        value: false
        value_post_processor: stringify
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: filter_dbs
        description: Comma separated list of schemas to extract tables only from particular
          schemas and to improve data extraction performance
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: session_sqls
        kind: array
        value:
        - SET @@session.time_zone="+0:00"
        - SET @@session.wait_timeout=28800
        - SET @@session.net_read_timeout=3600
        - SET @@session.innodb_lock_wait_timeout=3600
        description: List of SQL commands to run when a connection made. This allows
          to set session variables dynamically, like timeouts.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-pendo
    namespace: tap_pendo
    label: Pendo
    description: Product Experience and Digital Adoption Solutions
    variant: singer-io
    docs: https://hub.meltano.com/extractors/pendo
    repo: https://github.com/singer-io/tap-pendo
    pip_url: git+https://github.com/singer-io/tap-pendo.git
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - x_pendo_integration_key
      - period
      - start_date
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: x_pendo_integration_key
        kind: password
        label: Integration Key
        description: 'This is the integration key generated via the Pendo website:
          Settings -> Integrations -> Integration Keys.'
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: period
        kind: options
        label: Period
        description: This defines how data is aggregated, either on a daily or hourly
          basis.
        options:
        - label: Daily
          value: dayRange
        - label: Hourly
          value: hourRange
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: lookback_window
        kind: integer
        value: 0
        label: Lookback Window
        description: The number of days to use as the lookback window.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: include_anonymous_visitors
        kind: boolean
        value: false
        label: Include Anonymous Visitors
        description: Defines whether or not to include anonymous visitors in the results.
        value_post_processor: stringify
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        label: Start Date
        description: This is the default start date value to use if no bookmark is
          present.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-postgres
    namespace: tap_postgres
    label: PostgreSQL
    description: PostgreSQL database extractor
    variant: transferwise
    docs: https://hub.meltano.com/extractors/postgres.html
    repo: https://github.com/transferwise/pipelinewise-tap-postgres
    pip_url: pipelinewise-tap-postgres
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - host
      - port
      - user
      - password
      - dbname
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: host
        value: localhost
        description: PostgreSQL host
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: port
        kind: integer
        value: 5432
        description: PostgreSQL port
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user
        description: PostgreSQL user
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: password
        kind: password
        description: PostgreSQL password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: dbname
        description: PostgreSQL database name
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: ssl
        kind: boolean
        value: false
        description: Using SSL via postgres `sslmode='require'` option. If the server
          does not accept SSL connections or the client certificate is not recognized
          the connection will fail
        value_post_processor: stringify
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: filter_schemas
        description: Scan only the specified comma-separated schemas to improve the
          performance of data extraction
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: default_replication_method
        kind: options
        options:
        - label: Log-based Incremental Replication
          value: LOG_BASED
        - label: Key-based Incremental Replication
          value: INCREMENTAL
        - label: Full Table Replication
          value: FULL_TABLE
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: max_run_seconds
        kind: integer
        value: 43200
        description: Stop running the tap after certain number of seconds
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: logical_poll_total_seconds
        kind: integer
        value: 10800
        description: Stop running the tap when no data received from wal after certain
          number of seconds
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: break_at_end_lsn
        kind: boolean
        value: true
        description: Stop running the tap if the newly received lsn is after the max
          lsn that was detected when the tap started
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-recharge
    namespace: tap_recharge
    label: ReCharge
    description: Subscription payments platform
    variant: singer-io
    docs: https://hub.meltano.com/extractors/recharge.html
    repo: https://github.com/singer-io/tap-recharge
    pip_url: tap-recharge==1.0.3
    capabilities:
    - catalog
    - discover
    - state
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: access_token
        kind: password
        description: Private API Token
        placeholder: Ex. 1a2b3c4d5e6f
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user_agent
        value: tap-recharge via Meltano
        description: User agent to send to ReCharge along with API requests. Typically
          includes name of integration and an email address you can be reached at
        placeholder: Ex. tap-recharge via Meltano <user@example.com>
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-salesforce
    namespace: tap_salesforce
    label: Salesforce
    description: Customer-relationship management & customer success platform
    variant: meltano
    docs: https://hub.meltano.com/extractors/salesforce.html
    repo: https://gitlab.com/meltano/tap-salesforce
    pip_url: git+https://gitlab.com/meltano/tap-salesforce.git@v1.5.0
    capabilities:
    - properties
    - discover
    - state
    settings_group_validation:
    - - username
      - password
      - security_token
      - start_date
    - - client_id
      - client_secret
      - refresh_token
      - start_date
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: username
        placeholder: Ex. me@my-organization.com
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: password
        kind: password
        label: Password
        placeholder: Ex. *****************
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: security_token
        kind: password
        label: Security Token
        documentation: https://hub.meltano.com/extractors/salesforce.html#salesforce-setup
        description: Your Salesforce Account access token
        placeholder: Ex. *****************
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_id
        label: Client ID
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_secret
        kind: password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: refresh_token
        kind: password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: is_sandbox
        kind: boolean
        value: false
        description: Use Salesforce Sandbox
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: api_type
        kind: options
        value: REST
        label: API Type
        options:
        - label: REST
          value: REST
        - label: BULK
          value: BULK
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: select_fields_by_default
        kind: boolean
        value: true
        description: Select by default any new fields discovered in Salesforce objects
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: state_message_threshold
        kind: integer
        value: 1000
        description: Generate a STATE message every N records
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: max_workers
        kind: integer
        value: 8
        label: Maximum number of threads to use
    select:
    - Lead.*
    - Contact.*
    - User.*
    - OpportunityHistory.*
    - Account.*
    - Opportunity.*
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-quickbooks
    namespace: tap_quickbooks
    label: Quickbooks
    description: Accounting management platform
    variant: hotgluexyz
    docs: https://hub.meltano.com/extractors/quickbooks.html
    repo: https://github.com/hotgluexyz/tap-quickbooks
    pip_url: git+https://github.com/hotgluexyz/tap-quickbooks.git
    capabilities:
    - catalog
    - discover
    - state
    settings_group_validation:
    - - client_id
      - client_secret
      - refresh_token
      - realmId
      - start_date
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: realmId
        label: Realm ID
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_id
        kind: password
        label: Client ID
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_secret
        kind: password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: refresh_token
        kind: password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: is_sandbox
        kind: boolean
        value: false
        description: Use Quickbooks Sandbox
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: select_fields_by_default
        kind: boolean
        value: true
        description: Select by default any new fields discovered in Quickbooks objects
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: state_message_threshold
        kind: integer
        value: 1000
        description: Generate a STATE message every N records
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: max_workers
        kind: integer
        value: 8
        label: Maximum number of threads to use
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-shopify
    namespace: tap_shopify
    label: Shopify
    description: Ecommerce platform
    variant: singer-io
    docs: https://hub.meltano.com/extractors/shopify.html
    repo: https://github.com/singer-io/tap-shopify
    pip_url: tap-shopify
    capabilities:
    - catalog
    - discover
    - state
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: shop
        label: Store Subdomain
        placeholder: Ex. my-first-store
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: api_key
        kind: password
        label: Private App API Password
        placeholder: Ex. shppa_1a2b3c4d5e6f
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
    select:
    - abandoned_checkouts.*
    - collects.*
    - custom_collections.*
    - customers.*
    - order_refunds.*
    - orders.*
    - products.*
    - transactions.*
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-slack
    namespace: tap_slack
    label: Slack
    description: Team communication tool
    variant: mashey
    docs: https://hub.meltano.com/extractors/slack.html
    repo: https://github.com/Mashey/tap-slack
    pip_url: git+https://github.com/Mashey/tap-slack.git
    capabilities:
    - catalog
    - discover
    - state
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: token
        kind: password
        label: API Token
        documentation: https://slack.com/help/articles/215770388-Create-and-regenerate-API-tokens
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        label: Sync Start Date
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: channels
        kind: array
        label: Channels to Sync
        description: By default the tap will sync all channels it has been invited
          to, but this can be overriden to limit it ot specific channels. Note this
          needs to be channel ID, not the name, as recommended by the Slack API. To
          get the ID for a channel, either use the Slack API or find it in the URL.
        placeholder: Ex. ["abc123", "def456"]
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: private_channels
        kind: boolean
        value: true
        label: Join Private Channels
        description: Specifies whether to sync private channels or not. Default is
          true.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: join_public_channels
        kind: boolean
        value: false
        label: Join Public Channels
        description: Specifies whether to have the tap auto-join all public channels
          in your ogranziation. Default is false.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: archived_channels
        kind: boolean
        value: false
        label: Sync Archived Channels
        description: Specifies whether the tap will sync archived channels or not.
          Note that a bot cannot join an archived channel, so unless the bot was added
          to the channel prior to it being archived it will not be able to sync the
          data from that channel. Default is false.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: date_window_size
        kind: integer
        value: 7
        label: Date Window Size
        description: Specifies the window size for syncing certain streams (messages,
          files, threads). The default is 7 days.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-spreadsheets-anywhere
    namespace: tap_spreadsheets_anywhere
    label: Spreadsheets Anywhere
    description: Data extractor for CSV and Excel files from any smart_open supported
      transport (S3, SFTP, localhost, etc...)
    variant: ets
    docs: https://hub.meltano.com/extractors/spreadsheets-anywhere.html
    repo: https://github.com/ets/tap-spreadsheets-anywhere
    pip_url: git+https://github.com/ets/tap-spreadsheets-anywhere.git
    capabilities:
    - catalog
    - discover
    - state
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: tables
        kind: array
        description: An array holding json objects that each describe a set of targeted
          source files. See docs for details.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-stripe
    namespace: tap_stripe
    label: Stripe
    description: Online payment processing for internet businesses
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: singer-io
        docs: https://hub.meltano.com/extractors/stripe.html
        repo: https://github.com/singer-io/tap-stripe
        pip_url: git+https://github.com/singer-io/tap-stripe.git
        capabilities:
        - catalog
        - discover
        - state
        settings_group_validation:
        - - account_id
          - client_secret
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: account_id
            label: Account ID
            placeholder: Ex. acct_1a2b3c4d5e
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: client_secret
            kind: password
            label: Secret API Key
            placeholder: Ex. sk_live_1a2b3c4d5e
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            label: Start Date
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: prratek
        repo: https://github.com/prratek/tap-stripe
        pip_url: git+https://github.com/prratek/tap-stripe.git
        capabilities:
        - catalog
        - discover
        - state
        settings_group_validation:
        - - api_key
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: api_key
            kind: password
            label: Secret API Key
            placeholder: Ex. sk_live_1a2b3c4d5e
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: account_id
            label: Account ID
            placeholder: Ex. acct_1a2b3c4d5e
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        repo: https://github.com/meltano/tap-stripe
        pip_url: git+https://github.com/meltano/tap-stripe.git
        capabilities:
        - catalog
        - discover
        - state
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: account_id
            label: Account ID
            placeholder: Ex. acct_1a2b3c4d5e
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: client_secret
            kind: password
            label: Secret API Key
            placeholder: Ex. sk_live_1a2b3c4d5e
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
        hidden: true
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-twilio
    namespace: tap_twilio
    label: Twilio
    description: Cloud communications platform as a service
    variant: transferwise
    docs: https://hub.meltano.com/extractors/twilio
    repo: https://github.com/transferwise/pipelinewise-tap-twilio
    pip_url: git+https://github.com/transferwise/pipelinewise-tap-twilio.git
    capabilities:
    - discover
    - catalog
    - state
    settings_group_validation:
    - - account_sid
      - auth_token
      - start_date
      - user_agent
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: account_sid
        label: Account String ID
        description: This is the String ID of your account which can be found in the
          account console at twilio.com/console.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: auth_token
        kind: password
        label: Auth Token
        description: This is the authorization token for your account which can be
          found in the account console at twilio.com/console.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: date_window_days
        kind: integer
        value: 30
        label: Date Window Days
        description: This is the integer number of days (between the from and to dates)
          for date-windowing through the date-filtered endpoints.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        label: Start Date
        description: This is the absolute beginning date from which incremental loading
          on the initial load will start
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user_agent
        value: tap-twilio via Meltano
        label: User Agent
        description: This is used to identify the process running the tap.
        placeholder: Ex. "tap-twilio <api_user_email@your_company.com>"
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-zendesk
    namespace: tap_zendesk
    label: Zendesk
    description: Support ticketing system & customer service platform
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: twilio-labs
        docs: https://hub.meltano.com/extractors/zendesk.html
        repo: https://github.com/twilio-labs/twilio-tap-zendesk
        pip_url: twilio-tap-zendesk
        capabilities:
        - catalog
        - discover
        - state
        settings_group_validation:
        - - email
          - api_token
          - subdomain
          - start_date
        - - access_token
          - subdomain
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: email
            kind: email
            label: Email
            description: This is the email you use to login to your Zendesk dashboard.
              For API Authentication, `/token` is automatically appended to the email
              address and is not required in the configuration.
            placeholder: Ex. me@my-organization.com
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: api_token
            kind: password
            label: API Token
            documentation: https://support.zendesk.com/hc/en-us/articles/226022787-Generating-a-new-API-token-
            description: You can use the API Token authentication which can be generated
              from the Zendesk Admin page.
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: access_token
            kind: password
            label: Access Token
            documentation: https://support.zendesk.com/hc/en-us/articles/203663836
            description: To use OAuth, you will need to fetch an `access_token` from
              a configured Zendesk integration.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: subdomain
            label: Zendesk Subdomain
            documentation: https://support.zendesk.com/hc/en-us/articles/221682747-Where-can-I-find-my-Zendesk-subdomain-
            description: 'When visiting your Zendesk instance, the URL is structured
              as follows: `SUBDOMAIN.zendesk.com`. For example, if the URL is `meltano.zendesk.com`,
              then the subdomain is `meltano`.

              '
            placeholder: Ex. my-subdomain.zendesk.com
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            label: Start Date
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: singer-io
        docs: https://hub.meltano.com/extractors/zendesk.html
        repo: https://github.com/singer-io/tap-zendesk
        pip_url: tap-zendesk
        capabilities:
        - catalog
        - discover
        - state
        settings_group_validation:
        - - email
          - api_token
          - subdomain
          - start_date
        - - access_token
          - subdomain
          - start_date
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: email
            kind: email
            placeholder: Ex. me@my-organization.com
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: api_token
            kind: password
            label: API Token
            documentation: https://support.zendesk.com/hc/en-us/articles/226022787-Generating-a-new-API-token-
            placeholder: Ex. *****************
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: access_token
            kind: password
            documentation: https://support.zendesk.com/hc/en-us/articles/203663836
            description: OAuth Access Token
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: subdomain
            label: Zendesk Subdomain
            documentation: https://support.zendesk.com/hc/en-us/articles/221682747-Where-can-I-find-my-Zendesk-subdomain-
            placeholder: Ex. my-subdomain.zendesk.com
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: start_date
            kind: date_iso8601
            description: Determines how much historical data will be extracted. Please
              be aware that the larger the time period and amount of data, the longer
              the initial extraction can be expected to take.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-zoom
    namespace: tap_zoom
    label: Zoom
    description: Video conferencing software
    variant: mashey
    docs: https://hub.meltano.com/extractors/zoom.html
    repo: https://github.com/mashey/tap-zoom
    pip_url: git+https://github.com/mashey/tap-zoom.git
    capabilities:
    - catalog
    - discover
    settings_group_validation:
    - - jwt
    - - client_id
      - client_secret
      - refresh_token
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: jwt
        kind: password
        label: JSON Web Token
        documentation: https://marketplace.zoom.us/docs/guides/auth/jwt
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_id
        documentation: https://marketplace.zoom.us/docs/guides/auth/oauth
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_secret
        kind: password
        documentation: https://marketplace.zoom.us/docs/guides/auth/oauth
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: refresh_token
        kind: password
        documentation: https://marketplace.zoom.us/docs/guides/auth/oauth
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-solarvista
    namespace: tap_solarvista
    label: Solarvista Live
    description: Solarvista Live is a Field Service Management platform to manage,
      plan, and mobilise your engineers.
    variant: matatika
    docs: https://hub.meltano.com/extractors/solarvista.html
    repo: https://github.com/Matatika/tap-solarvista
    pip_url: git+https://github.com/Matatika/tap-solarvista.git
    capabilities:
    - state
    - catalog
    - discover
    settings_group_validation:
    - - start_date
      - clientId
      - code
      - account
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: datasources
        kind: array
        label: Datasources
        description: The Datasources to sync from Solarvista. Leave list blank to
          use the default list of Datasources.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: account
        label: Account
        description: The AccountId for your Solarvista account.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: clientId
        label: Client ID
        description: Your Solarvista Client ID to create your access token and credentials.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: code
        kind: password
        label: Authorization Code
        description: Your API authorization code retrieved using your account id,
          client id, and access token.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: start_date
        kind: date_iso8601
        label: Start Date
        description: Determines how much historical data will be extracted. Please
          be aware that the larger the time period and amount of data, the longer
          the initial extraction can be expected to take.
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-carbon-intensity
    namespace: tap_carbon_intensity
    label: Carbon Emissions Intensity
    description: National Grid ESO's Carbon Emissions Intensity API
    variant: meltano
    repo: https://gitlab.com/meltano/tap-carbon-intensity
    pip_url: git+https://gitlab.com/meltano/tap-carbon-intensity.git
    capabilities:
    - discover
    hidden: true
loaders:
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: target-bigquery
    namespace: target_bigquery
    label: BigQuery
    description: BigQuery loader
    variant: adswerve
    docs: https://hub.meltano.com/loaders/bigquery.html
    repo: https://github.com/adswerve/target-bigquery
    pip_url: git+https://github.com/adswerve/target-bigquery.git@0.11.3
    settings_group_validation:
    - - project_id
      - dataset_id
      - location
      - credentials_path
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: project_id
        label: Project Id
        description: BigQuery project
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: dataset_id
        value: $MELTANO_EXTRACT__LOAD_SCHEMA
        label: Dataset Id
        description: BigQuery dataset
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: location
        value: US
        label: Location
        description: Dataset location
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: credentials_path
        value: $MELTANO_PROJECT_ROOT/client_secrets.json
        label: Credentials Path
        description: Fully qualified path to `client_secrets.json` for your service
          account.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: validate_records
        kind: boolean
        value: false
        label: Validate Records
        description: Validate records
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: add_metadata_columns
        kind: boolean
        value: false
        label: Add Metadata Columns
        description: Add `_time_extracted` and `_time_loaded` metadata columns
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: replication_method
        kind: options
        value: append
        label: Replication Method
        description: Replication method, `append` or `truncate`
        options:
        - label: Append
          value: append
        - label: Truncate
          value: truncate
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: table_prefix
        label: Table Prefix
        description: Add prefix to table name
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: table_suffix
        label: Table Suffix
        description: Add suffix to table name
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: max_cache
        value: 50
        label: Max Cache
        description: Maximum cache size in MB
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: merge_state_messages
        kind: boolean
        value: false
        label: Merge State Messages
        description: Whether to merge multiple state messages from the tap into the
          state file or uses the last state message as the state file.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: table_config
        label: Table Config
        description: A path to a file containing the definition of partitioning and
          clustering.
    dialect: bigquery
    target_schema: $TARGET_BIGQUERY_DATASET_ID
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: target-csv
    namespace: target_csv
    label: Comma Separated Values (CSV)
    description: CSV loader
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: hotgluexyz
        docs: https://hub.meltano.com/loaders/csv.html
        repo: https://github.com/hotgluexyz/target-csv
        pip_url: git+https://github.com/hotgluexyz/target-csv.git@0.3.3
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: destination_path
            value: output
            description: Sets the destination path the CSV files are written to, relative
              to the project root. The directory needs to exist already, it will not
              be created automatically. To write CSV files to the project root, set
              an empty string (`""`).
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: delimiter
            kind: options
            value: ','
            description: A one-character string used to separate fields. It defaults
              to a comma (,).
            options:
            - label: Comma (,)
              value: ','
            - label: Tab (  )
              value: \t
            - label: Semi-colon (;)
              value: ;
            - label: Pipe (|)
              value: '|'
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: quotechar
            kind: options
            value: ''''
            description: A one-character string used to quote fields containing special
              characters, such as the delimiter or quotechar, or which contain new-line
              characters. It defaults to single quote (').
            options:
            - label: Single Quote (')
              value: ''''
            - label: Double Quote (")
              value: '"'
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: singer-io
        docs: https://hub.meltano.com/loaders/csv.html
        repo: https://github.com/singer-io/target-csv
        pip_url: target-csv
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: destination_path
            value: output
            description: Sets the destination path the CSV files are written to, relative
              to the project root. The directory needs to exist already, it will not
              be created automatically. To write CSV files to the project root, set
              an empty string (`""`).
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: delimiter
            kind: options
            value: ','
            description: A one-character string used to separate fields. It defaults
              to a comma (,).
            options:
            - label: Comma (,)
              value: ','
            - label: Tab (  )
              value: \t
            - label: Semi-colon (;)
              value: ;
            - label: Pipe (|)
              value: '|'
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: quotechar
            kind: options
            value: ''''
            description: A one-character string used to quote fields containing special
              characters, such as the delimiter or quotechar, or which contain new-line
              characters. It defaults to single quote (').
            options:
            - label: Single Quote (')
              value: ''''
            - label: Double Quote (")
              value: '"'
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: target-jsonl
    namespace: target_jsonl
    label: JSON Lines (JSONL)
    description: JSONL loader
    variant: andyh1203
    docs: https://hub.meltano.com/loaders/jsonl.html
    repo: https://github.com/andyh1203/target-jsonl
    pip_url: target-jsonl
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: destination_path
        value: output
        description: Sets the destination path the JSONL files are written to, relative
          to the project root. The directory needs to exist already, it will not be
          created automatically. To write JSONL files to the project root, set an
          empty string (`""`).
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: do_timestamp_file
        kind: boolean
        value: false
        label: Include timestamp in file names
        description: Specifies if the files should get timestamped
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: target-postgres
    namespace: target_postgres
    label: PostgreSQL
    description: PostgreSQL database loader
    dialect: postgres
    target_schema: $TARGET_POSTGRES_SCHEMA
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: transferwise
        docs: https://hub.meltano.com/loaders/postgres.html
        repo: https://github.com/transferwise/pipelinewise-target-postgres
        pip_url: pipelinewise-target-postgres
        settings_group_validation:
        - - host
          - port
          - user
          - password
          - dbname
          - default_target_schema
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: host
            value: localhost
            label: Host
            description: PostgreSQL host
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: port
            kind: integer
            value: 5432
            label: Port
            description: PostgreSQL port
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: user
            label: User
            description: PostgreSQL user
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: password
            kind: password
            label: Password
            description: PostgreSQL password
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: dbname
            label: Database Name
            description: PostgreSQL database name
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: ssl
            kind: boolean
            value: false
            label: SSL
            value_post_processor: stringify
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: default_target_schema
            aliases:
            - schema
            env: TARGET_POSTGRES_SCHEMA
            value: $MELTANO_EXTRACT__LOAD_SCHEMA
            label: Default Target Schema
            description: Name of the schema where the tables will be created. If `schema_mapping`
              is not defined then every stream sent by the tap is loaded into this
              schema.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: batch_size_rows
            kind: integer
            value: 100000
            label: Batch Size Rows
            description: Maximum number of rows in each batch. At the end of each
              batch, the rows in the batch are loaded into Postgres.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: flush_all_streams
            kind: boolean
            value: false
            label: Flush All Streams
            description: 'Flush and load every stream into Postgres when one batch
              is full. Warning: This may trigger the COPY command to use files with
              low number of records.'
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: parallelism
            kind: integer
            value: 0
            label: Parallelism
            description: The number of threads used to flush tables. 0 will create
              a thread for each stream, up to parallelism_max. -1 will create a thread
              for each CPU core. Any other positive number will create that number
              of threads, up to parallelism_max.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: parallelism_max
            kind: integer
            value: 16
            label: Max Parallelism
            description: Max number of parallel threads to use when flushing tables.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: default_target_schema_select_permission
            label: Default Target Schema Select Permission
            description: Grant USAGE privilege on newly created schemas and grant
              SELECT privilege on newly created tables to a specific role or a list
              of roles. If `schema_mapping` is not defined then every stream sent
              by the tap is granted accordingly.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: schema_mapping
            kind: object
            label: Schema Mapping
            description: 'Useful if you want to load multiple streams from one tap
              to multiple Postgres schemas.

              If the tap sends the `stream_id` in `<schema_name>-<table_name>` format
              then this option overwrites the `default_target_schema` value. Note,
              that using `schema_mapping` you can overwrite the `default_target_schema_select_permission`
              value to grant SELECT permissions to different groups per schemas or
              optionally you can create indices automatically for the replicated tables.

              '
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: add_metadata_columns
            kind: boolean
            value: false
            label: Add Metadata Columns
            description: Metadata columns add extra row level information about data
              ingestions, (i.e. when was the row read in source, when was inserted
              or deleted in postgres etc.) Metadata columns are creating automatically
              by adding extra columns to the tables with a column prefix `_SDC_`.
              The column names are following the stitch naming conventions documented
              at https://www.stitchdata.com/docs/data-structure/integration-schemas#sdc-columns.
              Enabling metadata columns will flag the deleted rows by setting the
              `_SDC_DELETED_AT` metadata column. Without the `add_metadata_columns`
              option the deleted rows from singer taps will not be recongisable in
              Postgres.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: hard_delete
            kind: boolean
            value: false
            label: Hard Delete
            description: When `hard_delete` option is true then DELETE SQL commands
              will be performed in Postgres to delete rows in tables. It's achieved
              by continuously checking the `_SDC_DELETED_AT` metadata column sent
              by the singer tap. Due to deleting rows requires metadata columns, `hard_delete`
              option automatically enables the `add_metadata_columns` option as well.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: data_flattening_max_level
            kind: integer
            value: 0
            label: Data Flattening Max Level
            description: Object type RECORD items from taps can be transformed to
              flattened columns by creating columns automatically. When value is 0
              (default) then flattening functionality is turned off.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: primary_key_required
            kind: boolean
            value: true
            label: Primary Key Required
            description: Log based and Incremental replications on tables with no
              Primary Key cause duplicates when merging UPDATE events. When set to
              true, stop loading data if no Primary Key is defined.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: validate_records
            kind: boolean
            value: false
            label: Validate Records
            description: Validate every single record message to the corresponding
              JSON schema. This option is disabled by default and invalid RECORD messages
              will fail only at load time by Postgres. Enabling this option will detect
              invalid records earlier but could cause performance degradation.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: temp_dir
            label: Temporary Directory
            description: '(Default: platform-dependent) Directory of temporary CSV
              files with RECORD messages.'
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: datamill-co
        docs: https://hub.meltano.com/loaders/postgres--datamill-co.html
        repo: https://github.com/datamill-co/target-postgres
        pip_url: singer-target-postgres
        settings_group_validation:
        - - postgres_host
          - postgres_port
          - postgres_database
          - postgres_username
          - postgres_password
          - postgres_schema
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_host
            value: localhost
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_port
            kind: integer
            value: 5432
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_database
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_username
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_password
            kind: password
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_schema
            aliases:
            - schema
            value: $MELTANO_EXTRACT__LOAD_SCHEMA
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_sslmode
            value: prefer
            description: 'Refer to the libpq docs for more information about SSL:
              https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS'
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_sslcert
            value: ~/.postgresql/postgresql.crt
            description: Only used if a SSL request w/ a client certificate is being
              made
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_sslkey
            value: ~/.postgresql/postgresql.key
            description: Only used if a SSL request w/ a client certificate is being
              made
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_sslrootcert
            value: ~/.postgresql/root.crt
            description: Used for authentication of a server SSL certificate
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: postgres_sslcrl
            value: ~/.postgresql/root.crl
            description: Used for authentication of a server SSL certificate
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: invalid_records_detect
            kind: boolean
            value: true
            description: Include `false` in your config to disable `target-postgres`
              from crashing on invalid records
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: invalid_records_threshold
            kind: integer
            value: 0
            description: Include a positive value `n` in your config to allow for
              `target-postgres` to encounter at most `n` invalid records per stream
              before giving up.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: disable_collection
            kind: boolean
            value: false
            description: 'Include `true` in your config to disable Singer Usage Logging:
              https://github.com/datamill-co/target-postgres#usage-logging'
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: logging_level
            kind: options
            value: INFO
            description: The level for logging. Set to `DEBUG` to get things like
              queries executed, timing of those queries, etc.
            options:
            - label: Debug
              value: DEBUG
            - label: Info
              value: INFO
            - label: Warning
              value: WARNING
            - label: Error
              value: ERROR
            - label: Critical
              value: CRITICAL
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: persist_empty_tables
            kind: boolean
            value: false
            description: Whether the Target should create tables which have no records
              present in Remote.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: max_batch_rows
            kind: integer
            value: 200000
            description: The maximum number of rows to buffer in memory before writing
              to the destination table in Postgres
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: max_buffer_size
            kind: integer
            value: 104857600
            description: 'The maximum number of bytes to buffer in memory before writing
              to the destination table in Postgres. Default: 100MB in bytes'
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: batch_detection_threshold
            kind: integer
            description: How often, in rows received, to count the buffered rows and
              bytes to check if a flush is necessary. There's a slight performance
              penalty to checking the buffered records count or bytesize, so this
              controls how often this is polled in order to mitigate the penalty.
              This value is usually not necessary to set as the default is dynamically
              adjusted to check reasonably often.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: state_support
            kind: boolean
            value: true
            description: Whether the Target should emit `STATE` messages to stdout
              for further consumption. In this mode, which is on by default, STATE
              messages are buffered in memory until all the records that occurred
              before them are flushed according to the batch flushing schedule the
              target is configured with.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: add_upsert_indexes
            kind: boolean
            value: true
            description: Whether the Target should create column indexes on the important
              columns used during data loading. These indexes will make data loading
              slightly slower but the deduplication phase much faster. Defaults to
              on for better baseline performance.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: before_run_sql
            description: Raw SQL statement(s) to execute as soon as the connection
              to Postgres is opened by the target. Useful for setup like `SET ROLE`
              or other connection state that is important.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: after_run_sql
            description: Raw SQL statement(s) to execute as soon as the connection
              to Postgres is opened by the target. Useful for setup like `SET ROLE`
              or other connection state that is important.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        original: true
        docs: https://hub.meltano.com/loaders/postgres--meltano.html
        repo: https://github.com/meltano/target-postgres
        pip_url: git+https://github.com/meltano/target-postgres.git
        settings_group_validation:
        - - url
          - schema
        - - user
          - password
          - host
          - port
          - dbname
          - schema
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: user
            aliases:
            - username
            value: warehouse
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: password
            kind: password
            value: warehouse
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: host
            aliases:
            - address
            value: localhost
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: port
            kind: integer
            value: 5502
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: dbname
            aliases:
            - database
            value: warehouse
            label: Database Name
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: url
            label: URL
            description: Lets you set `user`, `password`, `host`, `port`, and `dbname`
              in one go using a `postgresql://` URI. Takes precedence over the other
              settings when set.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: schema
            value: $MELTANO_EXTRACT__LOAD_SCHEMA
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: target-snowflake
    namespace: target_snowflake
    label: Snowflake
    description: Snowflake database loader
    dialect: snowflake
    target_schema: $TARGET_SNOWFLAKE_SCHEMA
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: transferwise
        docs: https://hub.meltano.com/loaders/snowflake.html
        repo: https://github.com/transferwise/pipelinewise-target-snowflake
        pip_url: pipelinewise-target-snowflake
        settings_group_validation:
        - - account
          - dbname
          - user
          - password
          - warehouse
          - file_format
          - default_target_schema
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: account
            label: Account
            description: Snowflake account name (i.e. rtXXXXX.eu-central-1)
            placeholder: E.g. rtXXXXX.eu-central-1
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: dbname
            aliases:
            - database
            label: DB Name
            description: Snowflake Database name
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: user
            aliases:
            - username
            label: User
            description: Snowflake User
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: password
            kind: password
            label: Password
            description: Snowflake Password
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: warehouse
            label: Warehouse
            description: Snowflake virtual warehouse name
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: file_format
            label: File Format
            description: The Snowflake file format object name which needs to be manually
              created as part of the pre-requirements section of the docs. Has to
              be the fully qualified name including the schema. Refer to the docs
              for more details https://github.com/transferwise/pipelinewise-target-snowflake#pre-requirements.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: role
            label: Role
            description: Snowflake role to use. If not defined then the user's default
              role will be used.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: aws_access_key_id
            kind: password
            label: AWS Access Key ID
            description: S3 Access Key Id. If not provided, `AWS_ACCESS_KEY_ID` environment
              variable or IAM role will be used
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: aws_secret_access_key
            kind: password
            label: AWS Secret Access Key
            description: S3 Secret Access Key. If not provided, `AWS_SECRET_ACCESS_KEY`
              environment variable or IAM role will be used
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: aws_session_token
            kind: password
            label: AWS Session Token
            description: AWS Session token. If not provided, `AWS_SESSION_TOKEN` environment
              variable will be used
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: aws_profile
            label: AWS Profile
            description: AWS profile name for profile based authentication. If not
              provided, `AWS_PROFILE` environment variable will be used.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: default_target_schema
            aliases:
            - schema
            value: $MELTANO_EXTRACT__LOAD_SCHEMA
            label: Default Target Schema
            description: Name of the schema where the tables will be created, without
              database prefix. If `schema_mapping` is not defined then every stream
              sent by the tap is loaded into this schema.
            value_processor: upcase_string
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: s3_bucket
            label: S3 Bucket
            description: S3 Bucket name
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: s3_key_prefix
            label: S3 Key Prefix
            description: A static prefix before the generated S3 key names. Using
              prefixes you can upload files into specific directories in the S3 bucket.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: s3_endpoint_url
            label: S3 Endpoint URL
            description: The complete URL to use for the constructed client. This
              is allowing to use non-native s3 account.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: s3_region_name
            label: S3 Region Name
            description: Default region when creating new connections
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: s3_acl
            label: S3 ACL
            description: S3 ACL name to set on the uploaded files
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: stage
            label: Stage
            description: Named external stage name created at pre-requirements section.
              Has to be a fully qualified name including the schema name
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: batch_size_rows
            kind: integer
            value: 100000
            label: Batch Size Rows
            description: Maximum number of rows in each batch. At the end of each
              batch, the rows in the batch are loaded into Snowflake.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: batch_wait_limit_seconds
            kind: integer
            label: Batch Wait Limit Seconds
            description: Maximum time to wait for batch to reach batch_size_rows.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: flush_all_streams
            kind: boolean
            value: false
            label: Flush All Streams
            description: 'Flush and load every stream into Snowflake when one batch
              is full. Warning: This may trigger the COPY command to use files with
              low number of records, and may cause performance problems.'
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: parallelism
            kind: integer
            value: 0
            label: Parallelism
            description: The number of threads used to flush tables. 0 will create
              a thread for each stream, up to parallelism_max. -1 will create a thread
              for each CPU core. Any other positive number will create that number
              of threads, up to parallelism_max.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: parallelism_max
            kind: integer
            value: 16
            label: Parallelism Max
            description: Max number of parallel threads to use when flushing tables.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: default_target_schema_select_permission
            label: Default Target Schema Select Permission
            description: Grant USAGE privilege on newly created schemas and grant
              SELECT privilege on newly created tables to a specific role or a list
              of roles. If `schema_mapping` is not defined then every stream sent
              by the tap is granted accordingly.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: schema_mapping
            kind: object
            label: Schema Mapping
            description: 'Useful if you want to load multiple streams from one tap
              to multiple Snowflake schemas.

              If the tap sends the `stream_id` in `<schema_name>-<table_name>` format
              then this option overwrites the `default_target_schema` value. Note,
              that using `schema_mapping` you can overwrite the `default_target_schema_select_permission`
              value to grant SELECT permissions to different groups per schemas or
              optionally you can create indices automatically for the replicated tables.

              '
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: disable_table_cache
            kind: boolean
            value: false
            label: Disable Table Cache
            description: By default the connector caches the available table structures
              in Snowflake at startup. In this way it doesn't need to run additional
              queries when ingesting data to check if altering the target tables is
              required. With `disable_table_cache` option you can turn off this caching.
              You will always see the most recent table structures but will cause
              an extra query runtime.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: client_side_encryption_master_key
            kind: password
            label: Client Side Encryption Master Key
            description: When this is defined, Client-Side Encryption is enabled.
              The data in S3 will be encrypted, No third parties, including Amazon
              AWS and any ISPs, can see data in the clear. Snowflake COPY command
              will decrypt the data once it's in Snowflake. The master key must be
              256-bit length and must be encoded as base64 string.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: client_side_encryption_stage_object
            label: Client Side Encryption Stage Object
            description: Required when `client_side_encryption_master_key` is defined.
              The name of the encrypted stage object in Snowflake that created separately
              and using the same encryption master key.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: add_metadata_columns
            kind: boolean
            value: false
            label: Add Metadata Columns
            description: Metadata columns add extra row level information about data
              ingestions, (i.e. when was the row read in source, when was inserted
              or deleted in snowflake etc.) Metadata columns are creating automatically
              by adding extra columns to the tables with a column prefix `_SDC_`.
              The column names are following the stitch naming conventions documented
              at https://www.stitchdata.com/docs/data-structure/integration-schemas#sdc-columns.
              Enabling metadata columns will flag the deleted rows by setting the
              `_SDC_DELETED_AT` metadata column. Without the `add_metadata_columns`
              option the deleted rows from singer taps will not be recongisable in
              Snowflake.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: hard_delete
            kind: boolean
            value: false
            label: Hard Delete
            description: When `hard_delete` option is true then DELETE SQL commands
              will be performed in Snowflake to delete rows in tables. It's achieved
              by continuously checking the `_SDC_DELETED_AT` metadata column sent
              by the singer tap. Due to deleting rows requires metadata columns, `hard_delete`
              option automatically enables the `add_metadata_columns` option as well.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: data_flattening_max_level
            kind: integer
            value: 0
            label: Data Flattening Max Level
            description: Object type RECORD items from taps can be loaded into VARIANT
              columns as JSON (default) or we can flatten the schema by creating columns
              automatically. When value is 0 (default) then flattening functionality
              is turned off.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: primary_key_required
            kind: boolean
            value: true
            label: Primary Key Required
            description: Log based and Incremental replications on tables with no
              Primary Key cause duplicates when merging UPDATE events. When set to
              true, stop loading data if no Primary Key is defined.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: validate_records
            kind: boolean
            value: false
            label: Validate Records
            description: Validate every single record message to the corresponding
              JSON schema. This option is disabled by default and invalid RECORD messages
              will fail only at load time by Snowflake. Enabling this option will
              detect invalid records earlier but could cause performance degradation.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: temp_dir
            label: Temporary Directory
            description: '(Default: platform-dependent) Directory of temporary CSV
              files with RECORD messages.'
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: no_compression
            kind: boolean
            value: false
            label: No Compression
            description: Generate uncompressed CSV files when loading to Snowflake.
              Normally, by default GZIP compressed files are generated.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: query_tag
            label: Query Tag
            description: Optional string to tag executed queries in Snowflake. Replaces
              tokens `schema` and `table` with the appropriate values. The tags are
              displayed in the output of the Snowflake `QUERY_HISTORY`, `QUERY_HISTORY_BY_*`
              functions.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: archive_load_files
            kind: boolean
            value: false
            label: Archive Load Files
            description: When enabled, the files loaded to Snowflake will also be
              stored in archive_load_files_s3_bucket under the key /{archive_load_files_s3_prefix}/{schema_name}/{table_name}/.
              All archived files will have tap, schema, table and archived-by as S3
              metadata keys. When incremental replication is used, the archived files
              will also have the following S3 metadata keys - incremental-key, incremental-key-min
              and incremental-key-max.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: archive_load_files_s3_prefix
            label: Archive Load Files S3 Prefix
            description: When archive_load_files is enabled, the archived files will
              be placed in the archive S3 bucket under this prefix.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: archive_load_files_s3_bucket
            label: Archive Load Files S3 Bucket
            description: When archive_load_files is enabled, the archived files will
              be placed in this bucket.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: datamill-co
        docs: https://hub.meltano.com/loaders/snowflake--datamill-co.html
        repo: https://github.com/datamill-co/target-snowflake
        pip_url: target-snowflake
        settings_group_validation:
        - - snowflake_account
          - snowflake_username
          - snowflake_password
          - snowflake_database
          - snowflake_warehouse
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: snowflake_account
            label: Snowflake Account
            description: '`ACCOUNT` might require the `region` and `cloud` platform
              where your account is located, in the form of: `<your_account_name>.<region_id>.<cloud>`
              (e.g. `xy12345.east-us-2.azure`)

              Refer to Snowflake''s documentation about Account: https://docs.snowflake.net/manuals/user-guide/connecting.html#your-snowflake-account-name-and-url

              '
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: snowflake_username
            label: Snowflake Username
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: snowflake_password
            kind: password
            label: Snowflake Password
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: snowflake_role
            label: Snowflake Role
            description: If not specified, Snowflake will use the user's default role.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: snowflake_database
            label: Snowflake Database
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: snowflake_authenticator
            value: snowflake
            label: Snowflake Authenticator
            description: Specifies the authentication provider for snowflake to use.
              Valud options are the internal one ("snowflake"), a browser session
              ("externalbrowser"), or Okta ("https://<your_okta_account_name>.okta.com").
              See the snowflake docs for more details.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: snowflake_warehouse
            label: Snowflake Warehouse
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: invalid_records_detect
            kind: boolean
            value: true
            label: Invalid Records Detect
            description: Include `false` in your config to disable crashing on invalid
              records
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: invalid_records_threshold
            kind: integer
            value: 0
            label: Invalid Records Threshold
            description: Include a positive value `n` in your config to allow at most
              `n` invalid records per stream before giving up.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: disable_collection
            kind: boolean
            value: false
            label: Disable Collection
            description: 'Include `true` in your config to disable Singer Usage Logging:
              https://github.com/datamill-co/target-snowflake#usage-logging'
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: logging_level
            kind: options
            value: INFO
            label: Logging Level
            description: The level for logging. Set to `DEBUG` to get things like
              queries executed, timing of those queries, etc.
            options:
            - label: Debug
              value: DEBUG
            - label: Info
              value: INFO
            - label: Warning
              value: WARNING
            - label: Error
              value: ERROR
            - label: Critical
              value: CRITICAL
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: persist_empty_tables
            kind: boolean
            value: false
            label: Persist Empty Tables
            description: Whether the Target should create tables which have no records
              present in Remote.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: snowflake_schema
            aliases:
            - schema
            value: $MELTANO_EXTRACT__LOAD_SCHEMA
            label: Snowflake Schema
            value_processor: upcase_string
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: state_support
            kind: boolean
            value: true
            label: State Support
            description: Whether the Target should emit `STATE` messages to stdout
              for further consumption. In this mode, which is on by default, STATE
              messages are buffered in memory until all the records that occurred
              before them are flushed according to the batch flushing schedule the
              target is configured with.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: target_s3.bucket
            label: Target S3 Bucket
            description: When included, use S3 to stage files. Bucket where staging
              files should be uploaded to.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: target_s3.key_prefix
            label: Target S3 Key Prefix
            description: Prefix for staging file uploads to allow for better delineation
              of tmp files
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: target_s3.aws_access_key_id
            kind: password
            label: Target S3 AWS Access Key ID
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: target_s3.aws_secret_access_key
            kind: password
            label: Target S3 AWS Secret Access Key
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        original: true
        docs: https://hub.meltano.com/loaders/snowflake--meltano.html
        repo: https://gitlab.com/meltano/target-snowflake
        pip_url: git+https://gitlab.com/meltano/target-snowflake.git
        settings_group_validation:
        - - account
          - username
          - password
          - role
          - database
          - warehouse
          - schema
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: account
            label: Account
            description: Account Name in Snowflake (https://XXXXX.snowflakecomputing.com)
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: username
            label: Username
            description: The username you use for logging in
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: password
            kind: password
            label: Password
            description: The password you use for logging in
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: role
            label: Role
            description: Role to be used for loading the data, e.g. `LOADER`. Also
              this role is GRANTed usage to all tables and schemas created
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: database
            label: Database
            description: The name of the Snowflake database you want to use
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: warehouse
            label: Warehouse
            description: The name of the Snowflake warehouse you want to use
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: schema
            value: $MELTANO_EXTRACT__LOAD_SCHEMA
            label: Schema
            value_processor: upcase_string
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: batch_size
            kind: integer
            value: 5000
            label: Batch Size
            description: How many records are sent to Snowflake at a time?
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: timestamp_column
            value: __loaded_at
            label: Timestamp Column
            description: Name of the column used for recording the timestamp when
              Data are uploaded to Snowflake.
        hidden: true
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: target-sqlite
    namespace: target_sqlite
    label: SQLite
    description: SQLite database loader
    variants:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltanolabs
        docs: https://hub.meltano.com/loaders/sqlite.html
        repo: https://github.com/MeltanoLabs/target-sqlite
        pip_url: git+https://github.com/MeltanoLabs/target-sqlite.git
        settings_group_validation:
        - - batch_size
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: database
            value: warehouse
            label: Database Name
            description: Name of the SQLite database file to be used or created, relative
              to the project root. The `.db` extension is optional and will be added
              automatically when omitted.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: batch_size
            kind: integer
            value: 50
            label: Batch Size
            description: How many records are sent to SQLite at a time?
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: timestamp_column
            value: __loaded_at
            label: Timestamp Column
            description: Name of the column used for recording the timestamp when
              Data are loaded to SQLite.
        dialect: sqlite
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: meltano
        repo: https://gitlab.com/meltano/target-sqlite
        pip_url: git+https://gitlab.com/meltano/target-sqlite.git
        settings_group_validation:
        - - batch_size
        settings:
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: database
            value: warehouse
            label: Database Name
            description: Name of the SQLite database file to be used or created, relative
              to the project root. The `.db` extension is optional and will be added
              automatically when omitted.
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: batch_size
            kind: integer
            value: 50
            description: How many records are sent to SQLite at a time?
        - !!python/object/apply:ruamel.yaml.comments.CommentedMap
          dictitems:
            name: timestamp_column
            value: __loaded_at
            description: Name of the column used for recording the timestamp when
              Data are loaded to SQLite.
        hidden: true
        dialect: sqlite
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: target-redshift
    namespace: target_redshift
    label: Amazon Redshift
    description: Amazon Redshift loader
    variant: transferwise
    docs: https://hub.meltano.com/loaders/redshift.html
    repo: https://github.com/transferwise/pipelinewise-target-redshift
    pip_url: pipelinewise-target-redshift
    executable: target-redshift
    capabilities:
    - activate-version
    - soft-delete
    - hard-delete
    - datatype-failsafe
    - record-flattening
    settings_group_validation:
    - - host
      - port
      - user
      - password
      - dbname
      - s3_bucket
      - default_target_schema
      - aws_profile
    - - host
      - port
      - user
      - password
      - dbname
      - s3_bucket
      - default_target_schema
      - aws_access_key_id
      - aws_secret_access_key
    - - host
      - port
      - user
      - password
      - dbname
      - s3_bucket
      - default_target_schema
      - aws_session_token
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: host
        description: Redshift host
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: port
        kind: integer
        value: 5439
        description: Redshift port
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: dbname
        label: Database Name
        description: Redshift database name
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user
        label: User name
        description: Redshift user name
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: password
        kind: password
        description: Redshift password
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: s3_bucket
        label: S3 Bucket name
        description: AWS S3 bucket name
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: default_target_schema
        value: $MELTANO_EXTRACT__LOAD_SCHEMA
        description: Name of the schema where the tables will be created. If schema_mapping
          is not defined then every stream sent by the tap is loaded into this schema.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: aws_profile
        label: AWS profile name
        description: AWS profile name for profile based authentication. If not provided,
          AWS_PROFILE environment variable will be used.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: aws_access_key_id
        kind: password
        label: AWS S3 Access Key ID
        description: S3 Access Key Id. Used for S3 and Redshift copy operations. If
          not provided, AWS_ACCESS_KEY_ID environment variable will be used.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: aws_secret_access_key
        kind: password
        label: AWS S3 Secret Access Key
        description: S3 Secret Access Key. Used for S3 and Redshift copy operations.
          If not provided, AWS_SECRET_ACCESS_KEY environment variable will be used.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: aws_session_token
        kind: password
        label: AWS S3 Session Token
        description: S3 AWS STS token for temporary credentials. If not provided,
          AWS_SESSION_TOKEN environment variable will be used.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: aws_redshift_copy_role_arn
        label: AWS Redshift COPY role ARN
        description: AWS Role ARN to be used for the Redshift COPY operation. Used
          instead of the given AWS keys for the COPY operation if provided - the keys
          are still used for other S3 operations
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: s3_acl
        label: AWS S3 ACL
        description: S3 Object ACL
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: s3_key_prefix
        label: S3 Key Prefix
        description: A static prefix before the generated S3 key names. Using prefixes
          you can upload files into specific directories in the S3 bucket. Default(None)
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: copy_options
        value: EMPTYASNULL BLANKSASNULL TRIMBLANKS TRUNCATECOLUMNS TIMEFORMAT 'auto'
          COMPUPDATE OFF STATUPDATE OFF
        label: COPY options
        description: 'Parameters to use in the COPY command when loading data to Redshift.
          Some basic file formatting parameters are fixed values and not recommended
          overriding them by custom values. They are like: `CSV GZIP DELIMITER '',''
          REMOVEQUOTES ESCAPE`.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: batch_size_rows
        kind: integer
        value: 100000
        description: Maximum number of rows in each batch. At the end of each batch,
          the rows in the batch are loaded into Redshift.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: flush_all_streams
        kind: boolean
        value: false
        description: Flush and load every stream into Redshift when one batch is full.
          Warning - This may trigger the COPY command to use files with low number
          of records, and may cause performance problems.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: parallelism
        kind: integer
        value: 0
        description: The number of threads used to flush tables. 0 will create a thread
          for each stream, up to parallelism_max. -1 will create a thread for each
          CPU core. Any other positive number will create that number of threads,
          up to parallelism_max.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: max_parallelism
        kind: integer
        value: 16
        description: Max number of parallel threads to use when flushing tables.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: default_target_schema_select_permissions
        description: Grant USAGE privilege on newly created schemas and grant SELECT
          privilege on newly created tables to a specific list of users or groups.
          If schema_mapping is not defined then every stream sent by the tap is granted
          accordingly.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: schema_mapping
        kind: object
        description: Useful if you want to load multiple streams from one tap to multiple
          Redshift schemas. If the tap sends the stream_id in <schema_name>-<table_name>
          format then this option overwrites the default_target_schema value. Note,
          that using schema_mapping you can overwrite the default_target_schema_select_permissions
          value to grant SELECT permissions to different groups per schemas or optionally
          you can create indices automatically for the replicated tables.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: disable_table_cache
        kind: boolean
        value: false
        description: By default the connector caches the available table structures
          in Redshift at startup. In this way it doesn't need to run additional queries
          when ingesting data to check if altering the target tables is required.
          With disable_table_cache option you can turn off this caching. You will
          always see the most recent table structures but will cause an extra query
          runtime.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: add_metadata_columns
        kind: boolean
        value: false
        description: Metadata columns add extra row level information about data ingestions,
          (i.e. when was the row read in source, when was inserted or deleted in redshift
          etc.) Metadata columns are creating automatically by adding extra columns
          to the tables with a column prefix _SDC_. The metadata columns are documented
          at https://transferwise.github.io/pipelinewise/data_structure/sdc-columns.html.
          Enabling metadata columns will flag the deleted rows by setting the _SDC_DELETED_AT
          metadata column. Without the add_metadata_columns option the deleted rows
          from singer taps will not be recongisable in Redshift.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: hard_delete
        kind: boolean
        value: false
        description: When hard_delete option is true then DELETE SQL commands will
          be performed in Redshift to delete rows in tables. It's achieved by continuously
          checking the _SDC_DELETED_AT metadata column sent by the singer tap. Due
          to deleting rows requires metadata columns, hard_delete option automatically
          enables the add_metadata_columns option as well.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: data_flattening_max_level
        kind: integer
        value: 0
        description: Object type RECORD items from taps can be loaded into VARIANT
          columns as JSON (default) or we can flatten the schema by creating columns
          automatically. When value is 0 (default) then flattening functionality is
          turned off.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: primary_key_required
        kind: boolean
        value: true
        description: Log based and Incremental replications on tables with no Primary
          Key cause duplicates when merging UPDATE events. When set to true, stop
          loading data if no Primary Key is defined.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: validate_records
        kind: boolean
        value: false
        description: Validate every single record message to the corresponding JSON
          schema. This option is disabled by default and invalid RECORD messages will
          fail only at load time by Redshift. Enabling this option will detect invalid
          records earlier but could cause performance degradation.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: skip_updates
        kind: boolean
        value: false
        description: Do not update existing records when Primary Key is defined. Useful
          to improve performance when records are immutable, e.g. events
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: compression
        kind: options
        description: The compression method to use when writing files to S3 and running
          Redshift COPY.
        options:
        - label: None
          value: ''
        - label: gzip
          value: gzip
        - label: bzip2
          value: bzip2
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: slices
        kind: integer
        value: 1
        description: The number of slices to split files into prior to running COPY
          on Redshift. This should be set to the number of Redshift slices. The number
          of slices per node depends on the node size of the cluster - run SELECT
          COUNT(DISTINCT slice) slices FROM stv_slices to calculate this. Defaults
          to 1.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: temp_dir
        label: Temp directory
        description: '(Default: platform-dependent) Directory of temporary CSV files
          with RECORD messages.'
    dialect: redshift
    target_schema: $TARGET_REDSHIFT_SCHEMA
transforms:
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-adwords
    namespace: tap_adwords
    vars:
      schema: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_adwords'') }}'
    variant: meltano
    repo: https://gitlab.com/meltano/dbt-tap-adwords
    pip_url: https://gitlab.com/meltano/dbt-tap-adwords.git@config-version-2
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-carbon-intensity
    namespace: tap_carbon_intensity
    vars:
      entry_table: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_carbon_intensity'') }}.entry'
      generationmix_table: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_carbon_intensity'')
        }}.generationmix'
      region_table: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_carbon_intensity'') }}.region'
    variant: meltano
    repo: https://gitlab.com/meltano/dbt-tap-carbon-intensity
    pip_url: https://gitlab.com/meltano/dbt-tap-carbon-intensity.git@config-version-2
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-facebook
    namespace: tap_facebook
    vars:
      schema: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_facebook'') }}'
    variant: meltano
    repo: https://gitlab.com/meltano/dbt-tap-facebook
    pip_url: https://gitlab.com/meltano/dbt-tap-facebook.git@config-version-2
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-gitlab
    namespace: tap_gitlab
    vars:
      schema: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_gitlab'') }}'
      ultimate_license: '{{ env_var(''GITLAB_API_ULTIMATE_LICENSE'', False) }}'
    variant: meltano
    repo: https://gitlab.com/meltano/dbt-tap-gitlab
    pip_url: https://gitlab.com/meltano/dbt-tap-gitlab.git@config-version-2
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-google-analytics
    namespace: tap_google_analytics
    vars:
      schema: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_google_analytics'') }}'
    variant: meltano
    repo: https://gitlab.com/meltano/dbt-tap-google-analytics
    pip_url: https://gitlab.com/meltano/dbt-tap-google-analytics.git@config-version-2
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-salesforce
    namespace: tap_salesforce
    vars:
      schema: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_salesforce'') }}'
    variant: meltano
    repo: https://gitlab.com/meltano/dbt-tap-salesforce
    pip_url: https://gitlab.com/meltano/dbt-tap-salesforce.git@config-version-2
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-shopify
    namespace: tap_shopify
    vars:
      schema: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_shopify'') }}'
    variant: meltano
    repo: https://gitlab.com/meltano/dbt-tap-shopify
    pip_url: https://gitlab.com/meltano/dbt-tap-shopify.git@config-version-2
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-stripe
    namespace: tap_stripe
    vars:
      livemode: false
      schema: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_stripe'') }}'
    variant: meltano
    repo: https://gitlab.com/meltano/dbt-tap-stripe
    pip_url: https://gitlab.com/meltano/dbt-tap-stripe.git@config-version-2
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: tap-zendesk
    namespace: tap_zendesk
    vars:
      schema: '{{ env_var(''DBT_SOURCE_SCHEMA'', ''tap_zendesk'') }}'
    variant: meltano
    repo: https://gitlab.com/meltano/dbt-tap-zendesk
    pip_url: https://gitlab.com/meltano/dbt-tap-zendesk.git@config-version-2
orchestrators:
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: airflow
    namespace: airflow
    docs: https://docs.meltano.com/guide/orchestration
    repo: https://github.com/apache/airflow
    pip_url: apache-airflow==2.1.2 --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.1.2/constraints-${MELTANO__PYTHON_VERSION}.txt
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: core.dags_folder
        env: AIRFLOW__CORE__DAGS_FOLDER
        value: $MELTANO_PROJECT_ROOT/orchestrate/dags
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: core.plugins_folder
        env: AIRFLOW__CORE__PLUGINS_FOLDER
        value: $MELTANO_PROJECT_ROOT/orchestrate/plugins
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: core.sql_alchemy_conn
        env: AIRFLOW__CORE__SQL_ALCHEMY_CONN
        value: sqlite:///$MELTANO_PROJECT_ROOT/.meltano/orchestrators/airflow/airflow.db
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: core.load_examples
        env: AIRFLOW__CORE__LOAD_EXAMPLES
        value: false
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: core.dags_are_paused_at_creation
        env: AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION
        value: false
    requires:
      files:
      - !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          name: airflow
          variant: meltano
transformers:
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt
    namespace: dbt
    label: dbt
    variant: dbt-labs
    docs: https://docs.meltano.com/guide/transformation
    repo: https://github.com/dbt-labs/dbt-core
    pip_url: dbt-core~=1.0.0 dbt-postgres~=1.0.0 dbt-redshift~=1.0.0 dbt-snowflake~=1.0.0
      dbt-bigquery~=1.0.0
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: project_dir
        value: $MELTANO_PROJECT_ROOT/transform
        label: Project Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: profiles_dir
        env: DBT_PROFILES_DIR
        value: $MELTANO_PROJECT_ROOT/transform/profile
        label: Profiles Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: target
        value: $MELTANO_LOAD__DIALECT
        label: Target
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: source_schema
        value: $MELTANO_LOAD__TARGET_SCHEMA
        label: Source Schema
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: target_schema
        value: analytics
        label: Target Schema
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: models
        value: $MELTANO_TRANSFORM__PACKAGE_NAME $MELTANO_EXTRACTOR_NAMESPACE my_meltano_project
        label: Models
    commands:
      clean: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: clean
          description: Delete all folders in the clean-targets list (usually the dbt_modules
            and target directories.)
      compile: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: compile --models $DBT_MODELS
          description: Generates executable SQL from source model, test, and analysis
            files. Compiled SQL files are written to the target/ directory.
      deps: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: deps
          description: Pull the most recent version of the dependencies listed in
            packages.yml
      run: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: run --models $DBT_MODELS
          description: Compile SQL and execute against the current target database.
      seed: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: seed
          description: Load data from csv files into your data warehouse.
      snapshot: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: snapshot
          description: Execute snapshots defined in your project.
      test: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: test
          description: Runs tests on data in deployed models.
    requires:
      files:
      - !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          name: dbt
          variant: meltano
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt-snowflake
    namespace: dbt_snowflake
    variant: dbt-labs
    docs: https://docs.meltano.com/guide/transformation
    repo: https://github.com/dbt-labs/dbt-snowflake
    pip_url: dbt-core~=1.0.0 dbt-snowflake~=1.0.0
    executable: dbt
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: project_dir
        value: $MELTANO_PROJECT_ROOT/transform
        label: Projects Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: profiles_dir
        env: DBT_PROFILES_DIR
        value: $MELTANO_PROJECT_ROOT/transform/profiles/snowflake
        label: Profiles Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: account
        kind: string
        label: Account
        description: The snowflake account to connect to.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user
        kind: string
        label: User
        description: The user to connect as.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: password
        kind: password
        label: Password
        description: The user password to authenticate with.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: role
        kind: string
        label: Role
        description: The user role to assume.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: warehouse
        kind: string
        label: Warehouse
        description: The compute warehouse to use when building models.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: database
        kind: string
        label: Database
        description: The database to create models in.
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: schema
        kind: string
        label: Schema
        description: The schema to build models into by default.
    commands:
      clean: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: clean
          description: Delete all folders in the clean-targets list (usually the dbt_modules
            and target directories.)
      compile: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: compile
          description: Generates executable SQL from source model, test, and analysis
            files. Compiled SQL files are written to the target/ directory.
      deps: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: deps
          description: Pull the most recent version of the dependencies listed in
            packages.yml
      run: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: run
          description: Compile SQL and execute against the current target database.
      seed: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: seed
          description: Load data from csv files into your data warehouse.
      snapshot: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: snapshot
          description: Execute snapshots defined in your project.
      test: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: test
          description: Runs tests on data in deployed models.
    requires:
      files:
      - !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          name: files-dbt-snowflake
          variant: meltano
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt-postgres
    namespace: dbt_postgres
    label: dbt Postgres
    variant: dbt-labs
    docs: https://docs.meltano.com/guide/transformation
    repo: https://github.com/dbt-labs/dbt-core
    pip_url: dbt-core~=1.0.0 dbt-postgres~=1.0.0
    executable: dbt
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: project_dir
        value: $MELTANO_PROJECT_ROOT/transform
        label: Projects Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: profiles_dir
        env: DBT_PROFILES_DIR
        value: $MELTANO_PROJECT_ROOT/transform/profiles/postgres
        label: Profiles Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: host
        kind: string
        label: Host
        description: 'The postgres host to connect to.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user
        kind: string
        label: User
        description: 'The user to connect as.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: password
        kind: password
        label: Password
        description: 'The password to connect with.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: port
        kind: integer
        label: Port
        description: 'The port to connect to.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: dbname
        aliases:
        - database
        kind: string
        label: Database
        description: 'The db to connect to.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: schema
        kind: string
        label: Schema
        description: 'The schema to use.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: keepalives_idle
        kind: integer
        label: Keep Alives Idle
        description: 'Seconds between TCP keepalive packets.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: search_path
        kind: string
        label: Search Path
        description: 'Overrides the default search path.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: role
        kind: string
        label: Role
        description: 'Role for dbt to assume when executing queries.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: sslmode
        kind: array
        label: SSL Mode
        description: 'SSL Mode used to connect to the database.

          '
    commands:
      clean: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: clean
          description: Delete all folders in the clean-targets list (usually the dbt_modules
            and target directories.)
      compile: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: compile
          description: Generates executable SQL from source model, test, and analysis
            files. Compiled SQL files are written to the target/ directory.
      deps: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: deps
          description: Pull the most recent version of the dependencies listed in
            packages.yml
      run: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: run
          description: Compile SQL and execute against the current target database.
      seed: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: seed
          description: Load data from csv files into your data warehouse.
      snapshot: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: snapshot
          description: Execute snapshots defined in your project.
      test: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: test
          description: Runs tests on data in deployed models.
    requires:
      files:
      - !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          name: files-dbt-postgres
          variant: meltano
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt-redshift
    namespace: dbt_redshift
    label: dbt Redshift
    variant: dbt-labs
    docs: https://docs.meltano.com/guide/transformation
    repo: https://github.com/dbt-labs/dbt-redshift
    pip_url: dbt-core~=1.0.0 dbt-redshift~=1.0.0
    executable: dbt
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: project_dir
        value: $MELTANO_PROJECT_ROOT/transform
        label: Project Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: profiles_dir
        env: DBT_PROFILES_DIR
        value: $MELTANO_PROJECT_ROOT/transform/profiles/redshift
        label: Profiles Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: auth_method
        kind: string
        label: Authentication Method
        description: 'The auth method to use (to use iam, set to "iam".

          Omit to use password-based auth.)

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: cluster_id
        kind: string
        label: Cluster ID
        description: 'The cluster id.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: host
        kind: string
        label: Host
        description: 'The host for the cluster.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: password
        kind: password
        label: Password
        description: 'The password, if using password-based auth.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: user
        kind: string
        label: User
        description: 'The user to connect as.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: port
        kind: integer
        label: Port
        description: 'The port to connect to.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: dbname
        aliases:
        - database
        kind: string
        label: Database
        description: 'The name of the db to connect to.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: schema
        kind: string
        label: Schema
        description: 'The schema to use.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: iam_profile
        kind: string
        label: IAM Profile
        description: 'The IAM profile to use.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: iam_duration_seconds
        kind: integer
        label: IAM Duration Seconds
        description: 'Duration of the IAM session.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: autocreate
        kind: boolean
        label: Autocreate
        description: 'Whether or not to automatically create entities.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: db_groups
        kind: array
        label: Databse Groups
        description: 'Database groups to use.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: keepalives_idle
        kind: integer
        label: Keep Alives Idle
        description: 'Seconds between TCP keepalive packets

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: search_path
        kind: string
        label: Search Path
        description: 'The search path to use (use of this setting is not recommended)

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: sslmode
        kind: array
        label: SSL Mode
        description: 'SSL MOde used to connect to Redshift.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: ra3_node
        kind: boolean
        label: RA3 Node
        description: 'Enables cross-database sources.

          '
    commands:
      clean: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: clean
          description: Delete all folders in the clean-targets list (usually the dbt_modules
            and target directories.)
      compile: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: compile
          description: Generates executable SQL from source model, test, and analysis
            files. Compiled SQL files are written to the target/ directory.
      deps: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: deps
          description: Pull the most recent version of the dependencies listed in
            packages.yml
      run: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: run
          description: Compile SQL and execute against the current target database.
      seed: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: seed
          description: Load data from csv files into your data warehouse.
      snapshot: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: snapshot
          description: Execute snapshots defined in your project.
      test: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: test
          description: Runs tests on data in deployed models.
    requires:
      files:
      - !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          name: files-dbt-redshift
          variant: meltano
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt-bigquery
    namespace: dbt_bigquery
    label: dbt BigQuery
    variant: dbt-labs
    docs: https://docs.meltano.com/guide/transformation
    repo: https://github.com/dbt-labs/dbt-bigquery
    pip_url: dbt-core~=1.0.0 dbt-bigquery~=1.0.0
    executable: dbt
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: project_dir
        value: $MELTANO_PROJECT_ROOT/transform
        label: Project Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: profiles_dir
        env: DBT_PROFILES_DIR
        value: $MELTANO_PROJECT_ROOT/transform/profiles/bigquery
        label: Profiles Directory
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: auth_method
        kind: string
        label: Authentication Method
        description: 'The auth method to use. One of: "oauth", "oauth-secrets", or
          "service-account"

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: project
        aliases:
        - database
        kind: string
        label: Project
        description: 'The BigQuery project ID.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: dataset
        aliases:
        - schema
        kind: string
        description: 'The dataset to use.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: refresh_token
        kind: password
        label: Refresh Token
        description: 'The refresh token, if authenticating via oauth-secrets method.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_id
        aliases:
        - user
        kind: string
        label: Client ID
        description: 'The client id to use, if authenticating via oauth-secrets method.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: client_secret
        aliases:
        - password
        kind: password
        label: Client Secret
        description: 'The client secret to use, if authenticating via oauth-secrets
          method.

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: token_uri
        kind: string
        label: Token URI
        description: 'The token redirect URI

          '
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: keyfile
        kind: string
        description: 'The path to the `keyfile.json`` to use, if authenticating via
          service-account method.

          '
    commands:
      clean: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: clean
          description: Delete all folders in the clean-targets list (usually the dbt_modules
            and target directories.)
      compile: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: compile
          description: Generates executable SQL from source model, test, and analysis
            files. Compiled SQL files are written to the target/ directory.
      deps: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: deps
          description: Pull the most recent version of the dependencies listed in
            packages.yml
      run: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: run
          description: Compile SQL and execute against the current target database.
      seed: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: seed
          description: Load data from csv files into your data warehouse.
      snapshot: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: snapshot
          description: Execute snapshots defined in your project.
      test: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: test
          description: Runs tests on data in deployed models.
    requires:
      files:
      - !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          name: files-dbt-bigquery
          variant: meltano
files:
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: airflow
    namespace: airflow
    update:
      orchestrate/dags/meltano.py: true
    variant: meltano
    repo: https://gitlab.com/meltano/files-airflow
    pip_url: git+https://gitlab.com/meltano/files-airflow.git
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt
    namespace: dbt
    variant: meltano
    repo: https://gitlab.com/meltano/files-dbt
    pip_url: git+https://gitlab.com/meltano/files-dbt.git@3120-deprecate-env-aliases-config-v2
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: docker
    namespace: docker
    variant: meltano
    repo: https://gitlab.com/meltano/files-docker
    pip_url: git+https://gitlab.com/meltano/files-docker.git
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: docker-compose
    namespace: docker_compose
    variant: meltano
    repo: https://gitlab.com/meltano/files-docker-compose
    pip_url: git+https://gitlab.com/meltano/files-docker-compose.git
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: gitlab-ci
    namespace: gitlab_ci
    variant: meltano
    repo: https://gitlab.com/meltano/files-gitlab-ci
    pip_url: git+https://gitlab.com/meltano/files-gitlab-ci.git
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: great_expectations
    namespace: great_expectations
    variant: meltano
    repo: https://gitlab.com/meltano/files-great-expectations
    pip_url: git+https://gitlab.com/meltano/files-great-expectations
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt-snowflake
    namespace: files_dbt_snowflake
    variant: meltano
    repo: https://gitlab.com/meltano/files-dbt-snowflake
    pip_url: git+https://gitlab.com/meltano/files-dbt-snowflake
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt-postgres
    namespace: files_dbt_postgres
    variant: meltano
    repo: https://gitlab.com/meltano/files-dbt-postgres
    pip_url: git+https://gitlab.com/meltano/files-dbt-postgres
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt-redshift
    namespace: files_dbt_redshift
    variant: meltano
    repo: https://gitlab.com/meltano/files-dbt-redshift
    pip_url: git+https://gitlab.com/meltano/files-dbt-redshift
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: dbt-bigquery
    namespace: files_dbt_bigquery
    variant: meltano
    repo: https://gitlab.com/meltano/files-dbt-bigquery
    pip_url: git+https://gitlab.com/meltano/files-dbt-bigquery
utilities:
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: sqlfluff
    namespace: sqlfluff
    pip_url: sqlfluff[dbt]
    commands:
      lint: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: lint
          description: Lint SQL in transform models
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: great_expectations
    namespace: great_expectations
    pip_url: great_expectations
    executable: great_expectations
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: ge_home
        env: GE_HOME
        value: $MELTANO_PROJECT_ROOT/utilities/great_expectations
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: superset
    namespace: superset
    label: Superset
    logo_url: /assets/logos/utilities/superset.png
    description: A modern, enterprise-ready business intelligence web application.
    variant: apache
    docs: https://docs.meltano.com/guide/analysis
    repo: https://github.com/apache/superset
    pip_url: apache-superset==1.5.0 markupsafe==2.0.1
    settings:
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: ui.bind_host
        value: 0.0.0.0
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: ui.port
        value: 8088
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: ui.timeout
        value: 60
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: ui.workers
        value: 4
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: SQLALCHEMY_DATABASE_URI
        value: sqlite:///$MELTANO_PROJECT_ROOT/.meltano/utilities/superset/superset.db
    - !!python/object/apply:ruamel.yaml.comments.CommentedMap
      dictitems:
        name: SECRET_KEY
        kind: password
        value: thisisnotapropersecretkey
    commands:
      ui: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: --bind $SUPERSET_UI_BIND_HOST:$SUPERSET_UI_PORT --timeout $SUPERSET_UI_TIMEOUT
            --workers $SUPERSET_UI_WORKERS superset.app:create_app()
          description: Start the Superset UI. Will be available on the configured
            `ui.bind_host` and `ui.port`, which default to `http://localhost:4000`
          executable: gunicorn
      create-admin: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: fab create-admin
          description: Create an admin user.
      load_examples: !!python/object/apply:ruamel.yaml.comments.CommentedMap
        dictitems:
          args: load_examples
          description: Load examples.
mappers:
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: transform-field
    namespace: transform_field
    variant: transferwise
    repo: https://github.com/transferwise/pipelinewise-transform-field
    pip_url: pipelinewise-transform-field
    executable: transform-field
- !!python/object/apply:ruamel.yaml.comments.CommentedMap
  dictitems:
    name: meltano-map-transformer
    namespace: meltano_map_transformer
    variant: meltano
    repo: https://github.com/MeltanoLabs/meltano-map-transform
    pip_url: git+https://github.com/MeltanoLabs/meltano-map-transform.git
    executable: meltano-map-transform