# | Batch workflow default values
# | Migrated from: provisioning/kcl/workflows.k
# | Pattern: Pure defaults (no schema, no contracts)

{
  dependency_def = {
    target_operation_id = "",
    dependency_type = "sequential",
    conditions = [],
    timeout = 300,
    fail_on_dependency_error = true,
  },

  retry_policy = {
    max_attempts = 3,
    initial_delay = 5,
    max_delay = 300,
    backoff_multiplier = 2.0,
    retry_on_errors = ["connection_error", "timeout", "rate_limit"],
    retry_on_any_error = false,
  },

  rollback_strategy = {
    enabled = true,
    strategy = "immediate",
    preserve_partial_state = false,
    custom_rollback_operations = [],
    rollback_timeout = 600,
  },

  monitoring_config = {
    enabled = true,
    backend = "prometheus",
    collection_interval = 30,
    enable_tracing = true,
    log_level = "info",
    enable_notifications = false,
    notification_channels = [],
  },

  storage_config = {
    backend = "filesystem",
    connection_config = {},
    base_path = "./batch_workflows",
    enable_persistence = true,
    retention_hours = 168,
    enable_compression = false,
  },

  batch_operation = {
    operation_id = "",
    name = "",
    operation_type = "server",
    action = "create",
    parameters = {},
    dependencies = [],
    timeout = 1800,
    allow_parallel = true,
    priority = 0,
    validation_rules = [],
    success_conditions = [],
  },

  batch_workflow = {
    workflow_id = "",
    name = "",
    description = "",
    version = "1.0.0",
    operations = [],
    max_parallel_operations = 5,
    global_timeout = 7200,
    fail_fast = false,
    execution_context = {},
    pre_workflow_hooks = [],
    post_workflow_hooks = [],
  },

  workflow_execution = {
    workflow_id = "",
    execution_id = "",
    status = "pending",
    operation_states = {},
    results = {},
    errors = [],
    resource_usage = {},
    rollback_history = [],
  },

  workflow_template = {
    template_id = "",
    name = "",
    description = "",
    category = "infrastructure",
    parameters = {},
    required_parameters = [],
    version = "1.0.0",
    examples = [],
  },
}
