// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: MIT

package flags

import (
	"fmt"

	"github.com/aws/amazon-cloudwatch-agent/tool/cmdwrapper"
)

// this package needs to be separate to keep the binary size of the wizard small

const (
	Command                             = "config-wizard"
	DefaultFilePathWindowsConfiguration = "C:\\Program Files\\Amazon\\SSM\\Plugins\\awsCloudWatch\\AWS.EC2.Windows.CloudWatch.json"
	DefaultFilePathLinuxConfiguration   = "/var/awslogs/etc/awslogs.conf"
)

var WizardFlags = map[string]cmdwrapper.Flag{
	"isNonInteractiveWindowsMigration": {DefaultValue: "false", Description: "If true, it will use command line args to bypass the wizard. Default value is false.", IsBool: true},
	"isNonInteractiveLinuxMigration":   {DefaultValue: "false", Description: "If true, it will do the linux config migration. Default value is false.", IsBool: true},
	"tracesOnly":                       {DefaultValue: "false", Description: "If true, only trace configuration will be generated", IsBool: true},
	"useParameterStore":                {DefaultValue: "false", Description: "If true, it will use the parameter store for the migrated config storage.", IsBool: true},
	"nonInteractiveXrayMigration":      {DefaultValue: "false", Description: "If true, then this is part of non Interactive xray migration tool.", IsBool: true},
	"configFilePath":                   {DefaultValue: "", Description: fmt.Sprintf("The path of the old config file. Default is %s on Windows or %s on Linux", DefaultFilePathWindowsConfiguration, DefaultFilePathLinuxConfiguration)},
	"configOutputPath":                 {DefaultValue: "", Description: "Specifies where to write the configuration file generated by the wizard"},
	"parameterStoreName":               {DefaultValue: "", Description: "The parameter store name. Default is AmazonCloudWatch-windows"},
	"parameterStoreRegion":             {DefaultValue: "", Description: "The parameter store region. Default is us-east-1"},
}
