// Code generated by mockery v1.0.0. DO NOT EDIT.

package mocks

import (
	cloudwatch "github.com/aws/aws-sdk-go/service/cloudwatch"

	mock "github.com/stretchr/testify/mock"
)

// ICloudWatchService is an autogenerated mock type for the ICloudWatchService type
type ICloudWatchService struct {
	mock.Mock
}

// GenerateBasicTelemetryMetrics provides a mock function with given fields: metricName, value, version
func (_m *ICloudWatchService) GenerateBasicTelemetryMetrics(metricName string, value float64, version string) *cloudwatch.MetricDatum {
	ret := _m.Called(metricName, value, version)

	var r0 *cloudwatch.MetricDatum
	if rf, ok := ret.Get(0).(func(string, float64, string) *cloudwatch.MetricDatum); ok {
		r0 = rf(metricName, value, version)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudwatch.MetricDatum)
		}
	}

	return r0
}

// GenerateUpdateMetrics provides a mock function with given fields: metricName, value, sourceVersion, targetVersion
func (_m *ICloudWatchService) GenerateUpdateMetrics(metricName string, value float64, sourceVersion string, targetVersion string) *cloudwatch.MetricDatum {
	ret := _m.Called(metricName, value, sourceVersion, targetVersion)

	var r0 *cloudwatch.MetricDatum
	if rf, ok := ret.Get(0).(func(string, float64, string, string) *cloudwatch.MetricDatum); ok {
		r0 = rf(metricName, value, sourceVersion, targetVersion)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudwatch.MetricDatum)
		}
	}

	return r0
}

// PutMetrics provides a mock function with given fields: metricData
func (_m *ICloudWatchService) PutMetrics(metricData []*cloudwatch.MetricDatum) error {
	ret := _m.Called(metricData)

	var r0 error
	if rf, ok := ret.Get(0).(func([]*cloudwatch.MetricDatum) error); ok {
		r0 = rf(metricData)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

func (_m *ICloudWatchService) IsCloudWatchEnabled() bool {
	args := _m.Called()
	return args.Bool(0)
}
