/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace drs { namespace Model { /** *

A log outputted by a Job.

See Also:

AWS API * Reference

*/ class JobLog { public: AWS_DRS_API JobLog(); AWS_DRS_API JobLog(Aws::Utils::Json::JsonView jsonValue); AWS_DRS_API JobLog& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DRS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The event represents the type of a log.

*/ inline const JobLogEvent& GetEvent() const{ return m_event; } /** *

The event represents the type of a log.

*/ inline bool EventHasBeenSet() const { return m_eventHasBeenSet; } /** *

The event represents the type of a log.

*/ inline void SetEvent(const JobLogEvent& value) { m_eventHasBeenSet = true; m_event = value; } /** *

The event represents the type of a log.

*/ inline void SetEvent(JobLogEvent&& value) { m_eventHasBeenSet = true; m_event = std::move(value); } /** *

The event represents the type of a log.

*/ inline JobLog& WithEvent(const JobLogEvent& value) { SetEvent(value); return *this;} /** *

The event represents the type of a log.

*/ inline JobLog& WithEvent(JobLogEvent&& value) { SetEvent(std::move(value)); return *this;} /** *

Metadata associated with a Job log.

*/ inline const JobLogEventData& GetEventData() const{ return m_eventData; } /** *

Metadata associated with a Job log.

*/ inline bool EventDataHasBeenSet() const { return m_eventDataHasBeenSet; } /** *

Metadata associated with a Job log.

*/ inline void SetEventData(const JobLogEventData& value) { m_eventDataHasBeenSet = true; m_eventData = value; } /** *

Metadata associated with a Job log.

*/ inline void SetEventData(JobLogEventData&& value) { m_eventDataHasBeenSet = true; m_eventData = std::move(value); } /** *

Metadata associated with a Job log.

*/ inline JobLog& WithEventData(const JobLogEventData& value) { SetEventData(value); return *this;} /** *

Metadata associated with a Job log.

*/ inline JobLog& WithEventData(JobLogEventData&& value) { SetEventData(std::move(value)); return *this;} /** *

The date and time the log was taken.

*/ inline const Aws::String& GetLogDateTime() const{ return m_logDateTime; } /** *

The date and time the log was taken.

*/ inline bool LogDateTimeHasBeenSet() const { return m_logDateTimeHasBeenSet; } /** *

The date and time the log was taken.

*/ inline void SetLogDateTime(const Aws::String& value) { m_logDateTimeHasBeenSet = true; m_logDateTime = value; } /** *

The date and time the log was taken.

*/ inline void SetLogDateTime(Aws::String&& value) { m_logDateTimeHasBeenSet = true; m_logDateTime = std::move(value); } /** *

The date and time the log was taken.

*/ inline void SetLogDateTime(const char* value) { m_logDateTimeHasBeenSet = true; m_logDateTime.assign(value); } /** *

The date and time the log was taken.

*/ inline JobLog& WithLogDateTime(const Aws::String& value) { SetLogDateTime(value); return *this;} /** *

The date and time the log was taken.

*/ inline JobLog& WithLogDateTime(Aws::String&& value) { SetLogDateTime(std::move(value)); return *this;} /** *

The date and time the log was taken.

*/ inline JobLog& WithLogDateTime(const char* value) { SetLogDateTime(value); return *this;} private: JobLogEvent m_event; bool m_eventHasBeenSet = false; JobLogEventData m_eventData; bool m_eventDataHasBeenSet = false; Aws::String m_logDateTime; bool m_logDateTimeHasBeenSet = false; }; } // namespace Model } // namespace drs } // namespace Aws