diff --git a/helpers/opts/syncoptions.go b/helpers/opts/syncoptions.go new file mode 100644 index 0000000000..0af8e0100e --- /dev/null +++ b/helpers/opts/syncoptions.go @@ -0,0 +1,17 @@ +package opts + +import ( + "github.com/cloudquery/plugin-sdk/v4/plugin" + "github.com/cloudquery/plugin-sdk/v4/scheduler" +) + +// SchedulerOpts converts plugin.SyncOptions to []scheduler.SyncOption, adding additionalOpts. +func SchedulerOpts(o plugin.SyncOptions, additionalOpts ...scheduler.SyncOption) []scheduler.SyncOption { + opts := []scheduler.SyncOption{ + scheduler.WithSyncDeterministicCQID(o.DeterministicCQID), + } + if o.Shard != nil { + opts = append(opts, scheduler.WithShard(o.Shard.Num, o.Shard.Total)) + } + return append(opts, additionalOpts...) +}