# Template with instructions
type: dagster_fivetran.FivetranAccountComponent  # Required
attributes:  # Optional: Attributes details
  workspace:  # Required: 
    account_id: <string>  # Required: The Fivetran account ID.
    api_key: <string>  # Required: The Fivetran API key to use for this resource.
    api_secret: <string>  # Required: The Fivetran API secret to use for this resource.
    snapshot_path: <string>  # Optional: Path to a snapshot file to load Fivetran data from,rather than fetching it from the Fivetran API.
    request_max_retries: <integer>  # Optional: The maximum number of times requests to the Fivetran API should be retried before failing.
    request_retry_delay: <number>  # Optional: Time (in seconds) to wait between each request retry.
    request_backoff_factor: <number>  # Optional: Multiplier applied to the delay between retries. Set to >1 for exponential backoff.
    disable_schedule_on_trigger: <boolean>  # Optional: Whether to disable the schedule of a connector when it is synchronized using this resource.Defaults to True.
    retry_on_reschedule: <boolean>  # Optional: Whether to raise RetryRequested when Fivetran reschedules a sync due to quota limits. When False, polling continues until the rescheduled time passes. Defaults to True.
  connector_selector:  # Optional: 
    # Choose one of the following types:
    # Option 1 - FivetranConnectorSelectorByName:
    # by_name:  # Optional: List of string items
      - <string>
    #
    # Option 2 - FivetranConnectorSelectorById:
    # by_id:  # Optional: List of string items
      - <string>
    #
  translation:  # Optional: 
    deps: <one of: array of string, string>  # Optional: The asset keys for the upstream assets that this asset depends on.
    description: <string>  # Optional: Human-readable description of the asset.
    metadata: <one of: object, string>  # Optional: Additional metadata for the asset.
    group_name: <string>  # Optional: Used to organize assets into groups, defaults to 'default'.
    skippable: <one of: boolean, string>  # Optional: Whether this asset can be omitted during materialization, causing downstream dependencies to skip.
    code_version: <string>  # Optional: A version representing the code that produced the asset. Increment this value when the code changes.
    owners: <one of: array of string, string>  # Optional: A list of strings representing owners of the asset. Each string can be a user's email address, or a team name prefixed with `team:`, e.g. `team:finops`.
    tags: <one of: object, string>  # Optional: Tags for filtering and organizing.
    kinds: <one of: array of string, string>  # Optional: A list of strings representing the kinds of the asset. These will be made visible in the Dagster UI.
    automation_condition: <string>  # Optional: The condition under which the asset will be automatically materialized.
    partitions_def:  # Optional: The partitions definition for the asset.
      # Choose one of the following types:
      # Option 1 - HourlyPartitionsDefinitionModel:
      # type: <string>  # Optional: 
      # start_date: <string>  # Optional: 
      # end_date: <string>  # Optional: 
      # timezone: <string>  # Optional: 
      # minute_offset: <integer>  # Optional: 
      #
      # Option 2 - DailyPartitionsDefinitionModel:
      # type: <string>  # Optional: 
      # start_date: <string>  # Optional: 
      # end_date: <string>  # Optional: 
      # timezone: <string>  # Optional: 
      # minute_offset: <integer>  # Optional: 
      # hour_offset: <integer>  # Optional: 
      #
      # Option 3 - WeeklyPartitionsDefinitionModel:
      # type: <string>  # Optional: 
      # start_date: <string>  # Optional: 
      # end_date: <string>  # Optional: 
      # timezone: <string>  # Optional: 
      # minute_offset: <integer>  # Optional: 
      # hour_offset: <integer>  # Optional: 
      # day_offset: <integer>  # Optional: 
      #
      # Option 4 - TimeWindowPartitionsDefinitionModel:
      # type: <string>  # Optional: 
      # start_date: <string>  # Optional: 
      # end_date: <string>  # Optional: 
      # timezone: <string>  # Optional: 
      # fmt: <string>  # Optional: 
      # cron_schedule: <string>  # Optional: 
      #
      # Option 5 - StaticPartitionsDefinitionModel:
      # type: <string>  # Optional: 
      # partition_keys:  # Optional: List of string items
        - <string>
      #
    freshness_policy: <string>  # Optional: The freshness policy for the asset.
    key: <string>  # Optional: 
    key_prefix: <one of: string, array of string>  # Optional: Prefix the existing asset key with the provided value.
  polling_sensor: <one of: boolean, string>  # Optional: 
  defs_state:  # Optional: Configuration for determining how state is stored and persisted for this component.
    key: <string>  # Optional: The key for the state. This must be unique per deployment.
    management_type: <string>  # Required: 
    refresh_if_dev: <boolean>  # Optional: Whether to automatically refresh defs state when using `dagster dev` or the `dg` cli.
