package config

type AWS struct {
	AccessKey string `mapstructure:"AWS_ACCESS_KEY"`
	SecretKey string `mapstructure:"AWS_SECRET_KEY"`
	Region    string `mapstructure:"AWS_REGION"`

	CloudWatchLog CloudWatchLog `mapstructure:",squash"`
}

type CloudWatchLog struct {
	GroupName        string `mapstructure:"AWS_CLOUDWATCH_LOG_GROUP_NAME"`
	StreamName       string `mapstructure:"AWS_CLOUDWATCH_LOG_STREAM_NAME"`
	StreamNamePrefix string `mapstructure:"AWS_CLOUDWATCH_LOG_STREAM_NAME_PREFIX"`
	BatchFrequency   int    `mapstructure:"AWS_CLOUDWATCH_LOG_BATCH_FREQUENCY"`
}

func (c *configImpl) GetAWSConfig() AWS {
	return c.systemConfig.AWS
}

func (c *configImpl) setDefaultAWSConfig() {
	c.viper.SetDefault("AWS_CLOUDWATCH_LOG_BATCH_FREQUENCY", 10)
}
