internal/kusto/options.go (20 lines of code) (raw):
package kusto
// AuthOptions provides the authenticate configuration for the Kusto client.
// TODO: add support for MSI based authentication.
type AuthOptions struct {
TenantID string `env:"AZURE_TENANT_ID" help:"The Azure tenant ID."`
ClientID string `env:"AZURE_CLIENT_ID" help:"The Azure client ID."`
ClientSecret string `env:"AZURE_CLIENT_SECRET" help:"The Azure client secret."`
AZCLI bool `env:"AZURE_CLI" help:"Use Azure CLI for authentication."`
}
// KustoTargetOptions provides the target configuration for the Kusto client.
type KustoTargetOptions struct {
Endpoint string `required:"" env:"KUSTO_ENDPOINT" help:"The Kusto endpoint to ingest data to."`
Database string `required:"" env:"KUSTO_DATABASE" help:"The Kusto database to ingest data to."`
Table string `required:"" env:"KUSTO_TABLE" help:"The Kusto table to ingest data to."`
}
// FileIngestOptions provides the configuration for ingesting from local file.
type FileIngestOptions struct {
SourceFile string `arg:"" type:"existingfile" required:"" help:"The source file to ingest."`
MappingsFile string `optional:"" type:"existingfile" help:"The mappings file to use. Optional"`
Format DataFormatString `optional:"" enum:"multijson,json,csv" default:"multijson" help:"The format of the source file. Default is multijson."`
Auth AuthOptions `embed:"" prefix:"auth-"`
KustoTarget KustoTargetOptions `embed:"" prefix:"kusto-"`
// for unit test
ingestorBuildSettings `kong:"-"`
}