7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/ec2/model/TrafficType.h>
12#include <aws/ec2/model/LogDestinationType.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/ec2/model/DestinationOptionsResponse.h>
15#include <aws/ec2/model/Tag.h>
54 template<
typename CreationTimeT = Aws::Utils::DateTime>
55 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet =
true; m_creationTime = std::forward<CreationTimeT>(value); }
56 template<
typename CreationTimeT = Aws::Utils::DateTime>
71 template<
typename DeliverLogsErrorMessageT = Aws::String>
72 void SetDeliverLogsErrorMessage(DeliverLogsErrorMessageT&& value) { m_deliverLogsErrorMessageHasBeenSet =
true; m_deliverLogsErrorMessage = std::forward<DeliverLogsErrorMessageT>(value); }
73 template<
typename DeliverLogsErrorMessageT = Aws::String>
84 template<
typename DeliverLogsPermissionArnT = Aws::String>
85 void SetDeliverLogsPermissionArn(DeliverLogsPermissionArnT&& value) { m_deliverLogsPermissionArnHasBeenSet =
true; m_deliverLogsPermissionArn = std::forward<DeliverLogsPermissionArnT>(value); }
86 template<
typename DeliverLogsPermissionArnT = Aws::String>
97 template<
typename DeliverCrossAccountRoleT = Aws::String>
98 void SetDeliverCrossAccountRole(DeliverCrossAccountRoleT&& value) { m_deliverCrossAccountRoleHasBeenSet =
true; m_deliverCrossAccountRole = std::forward<DeliverCrossAccountRoleT>(value); }
99 template<
typename DeliverCrossAccountRoleT = Aws::String>
110 template<
typename DeliverLogsStatusT = Aws::String>
111 void SetDeliverLogsStatus(DeliverLogsStatusT&& value) { m_deliverLogsStatusHasBeenSet =
true; m_deliverLogsStatus = std::forward<DeliverLogsStatusT>(value); }
112 template<
typename DeliverLogsStatusT = Aws::String>
122 template<
typename FlowLogIdT = Aws::String>
123 void SetFlowLogId(FlowLogIdT&& value) { m_flowLogIdHasBeenSet =
true; m_flowLogId = std::forward<FlowLogIdT>(value); }
124 template<
typename FlowLogIdT = Aws::String>
134 template<
typename FlowLogStatusT = Aws::String>
135 void SetFlowLogStatus(FlowLogStatusT&& value) { m_flowLogStatusHasBeenSet =
true; m_flowLogStatus = std::forward<FlowLogStatusT>(value); }
136 template<
typename FlowLogStatusT = Aws::String>
146 template<
typename LogGroupNameT = Aws::String>
147 void SetLogGroupName(LogGroupNameT&& value) { m_logGroupNameHasBeenSet =
true; m_logGroupName = std::forward<LogGroupNameT>(value); }
148 template<
typename LogGroupNameT = Aws::String>
158 template<
typename ResourceIdT = Aws::String>
159 void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet =
true; m_resourceId = std::forward<ResourceIdT>(value); }
160 template<
typename ResourceIdT = Aws::String>
190 template<
typename LogDestinationT = Aws::String>
191 void SetLogDestination(LogDestinationT&& value) { m_logDestinationHasBeenSet =
true; m_logDestination = std::forward<LogDestinationT>(value); }
192 template<
typename LogDestinationT = Aws::String>
202 template<
typename LogFormatT = Aws::String>
203 void SetLogFormat(LogFormatT&& value) { m_logFormatHasBeenSet =
true; m_logFormat = std::forward<LogFormatT>(value); }
204 template<
typename LogFormatT = Aws::String>
214 template<
typename TagsT = Aws::Vector<Tag>>
215 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
216 template<
typename TagsT = Aws::Vector<Tag>>
218 template<
typename TagsT = Tag>
219 FlowLog&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
244 template<
typename DestinationOptionsT = DestinationOptionsResponse>
245 void SetDestinationOptions(DestinationOptionsT&& value) { m_destinationOptionsHasBeenSet =
true; m_destinationOptions = std::forward<DestinationOptionsT>(value); }
246 template<
typename DestinationOptionsT = DestinationOptionsResponse>
252 bool m_creationTimeHasBeenSet =
false;
255 bool m_deliverLogsErrorMessageHasBeenSet =
false;
258 bool m_deliverLogsPermissionArnHasBeenSet =
false;
261 bool m_deliverCrossAccountRoleHasBeenSet =
false;
264 bool m_deliverLogsStatusHasBeenSet =
false;
267 bool m_flowLogIdHasBeenSet =
false;
270 bool m_flowLogStatusHasBeenSet =
false;
273 bool m_logGroupNameHasBeenSet =
false;
276 bool m_resourceIdHasBeenSet =
false;
279 bool m_trafficTypeHasBeenSet =
false;
282 bool m_logDestinationTypeHasBeenSet =
false;
285 bool m_logDestinationHasBeenSet =
false;
288 bool m_logFormatHasBeenSet =
false;
291 bool m_tagsHasBeenSet =
false;
293 int m_maxAggregationInterval{0};
294 bool m_maxAggregationIntervalHasBeenSet =
false;
296 DestinationOptionsResponse m_destinationOptions;
297 bool m_destinationOptionsHasBeenSet =
false;
const Aws::String & GetFlowLogId() const
FlowLog & WithDeliverCrossAccountRole(DeliverCrossAccountRoleT &&value)
bool DeliverLogsErrorMessageHasBeenSet() const
FlowLog & AddTags(TagsT &&value)
FlowLog & WithLogFormat(LogFormatT &&value)
const Aws::String & GetLogDestination() const
int GetMaxAggregationInterval() const
void SetLogDestinationType(LogDestinationType value)
void SetCreationTime(CreationTimeT &&value)
bool LogFormatHasBeenSet() const
void SetLogFormat(LogFormatT &&value)
bool DestinationOptionsHasBeenSet() const
bool DeliverLogsStatusHasBeenSet() const
void SetFlowLogId(FlowLogIdT &&value)
FlowLog & WithFlowLogId(FlowLogIdT &&value)
bool FlowLogStatusHasBeenSet() const
bool ResourceIdHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
FlowLog & WithTags(TagsT &&value)
const Aws::String & GetFlowLogStatus() const
FlowLog & WithDestinationOptions(DestinationOptionsT &&value)
FlowLog & WithDeliverLogsPermissionArn(DeliverLogsPermissionArnT &&value)
FlowLog & WithLogDestination(LogDestinationT &&value)
const Aws::Utils::DateTime & GetCreationTime() const
const Aws::String & GetLogGroupName() const
FlowLog & WithCreationTime(CreationTimeT &&value)
void SetDeliverLogsErrorMessage(DeliverLogsErrorMessageT &&value)
FlowLog & WithLogDestinationType(LogDestinationType value)
const Aws::String & GetDeliverCrossAccountRole() const
bool CreationTimeHasBeenSet() const
void SetDestinationOptions(DestinationOptionsT &&value)
FlowLog & WithLogGroupName(LogGroupNameT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool DeliverCrossAccountRoleHasBeenSet() const
bool MaxAggregationIntervalHasBeenSet() const
void SetDeliverLogsStatus(DeliverLogsStatusT &&value)
bool TrafficTypeHasBeenSet() const
LogDestinationType GetLogDestinationType() const
FlowLog & WithTrafficType(TrafficType value)
AWS_EC2_API FlowLog & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetDeliverCrossAccountRole(DeliverCrossAccountRoleT &&value)
AWS_EC2_API FlowLog(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetDeliverLogsErrorMessage() const
void SetDeliverLogsPermissionArn(DeliverLogsPermissionArnT &&value)
TrafficType GetTrafficType() const
const DestinationOptionsResponse & GetDestinationOptions() const
bool LogGroupNameHasBeenSet() const
void SetTrafficType(TrafficType value)
const Aws::String & GetResourceId() const
FlowLog & WithMaxAggregationInterval(int value)
const Aws::String & GetDeliverLogsPermissionArn() const
void SetLogGroupName(LogGroupNameT &&value)
void SetLogDestination(LogDestinationT &&value)
FlowLog & WithDeliverLogsErrorMessage(DeliverLogsErrorMessageT &&value)
FlowLog & WithDeliverLogsStatus(DeliverLogsStatusT &&value)
bool LogDestinationTypeHasBeenSet() const
bool LogDestinationHasBeenSet() const
void SetFlowLogStatus(FlowLogStatusT &&value)
FlowLog & WithFlowLogStatus(FlowLogStatusT &&value)
bool TagsHasBeenSet() const
const Aws::String & GetLogFormat() const
void SetResourceId(ResourceIdT &&value)
void SetMaxAggregationInterval(int value)
void SetTags(TagsT &&value)
FlowLog & WithResourceId(ResourceIdT &&value)
const Aws::Vector< Tag > & GetTags() const
AWS_EC2_API FlowLog()=default
bool DeliverLogsPermissionArnHasBeenSet() const
bool FlowLogIdHasBeenSet() const
const Aws::String & GetDeliverLogsStatus() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream