7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/DestinationOptionsResponse.h>
13#include <aws/ec2/model/LogDestinationType.h>
14#include <aws/ec2/model/Tag.h>
15#include <aws/ec2/model/TagFieldSpecificationResponse.h>
16#include <aws/ec2/model/TrafficType.h>
49 template <
typename CreationTimeT = Aws::Utils::DateTime>
51 m_creationTimeHasBeenSet =
true;
52 m_creationTime = std::forward<CreationTimeT>(value);
54 template <
typename CreationTimeT = Aws::Utils::DateTime>
72 template <
typename DeliverLogsErrorMessageT = Aws::String>
74 m_deliverLogsErrorMessageHasBeenSet =
true;
75 m_deliverLogsErrorMessage = std::forward<DeliverLogsErrorMessageT>(value);
77 template <
typename DeliverLogsErrorMessageT = Aws::String>
91 template <
typename DeliverLogsPermissionArnT = Aws::String>
93 m_deliverLogsPermissionArnHasBeenSet =
true;
94 m_deliverLogsPermissionArn = std::forward<DeliverLogsPermissionArnT>(value);
96 template <
typename DeliverLogsPermissionArnT = Aws::String>
110 template <
typename DeliverCrossAccountRoleT = Aws::String>
112 m_deliverCrossAccountRoleHasBeenSet =
true;
113 m_deliverCrossAccountRole = std::forward<DeliverCrossAccountRoleT>(value);
115 template <
typename DeliverCrossAccountRoleT = Aws::String>
129 template <
typename DeliverLogsStatusT = Aws::String>
131 m_deliverLogsStatusHasBeenSet =
true;
132 m_deliverLogsStatus = std::forward<DeliverLogsStatusT>(value);
134 template <
typename DeliverLogsStatusT = Aws::String>
147 template <
typename FlowLogIdT = Aws::String>
149 m_flowLogIdHasBeenSet =
true;
150 m_flowLogId = std::forward<FlowLogIdT>(value);
152 template <
typename FlowLogIdT = Aws::String>
165 template <
typename FlowLogStatusT = Aws::String>
167 m_flowLogStatusHasBeenSet =
true;
168 m_flowLogStatus = std::forward<FlowLogStatusT>(value);
170 template <
typename FlowLogStatusT = Aws::String>
183 template <
typename LogGroupNameT = Aws::String>
185 m_logGroupNameHasBeenSet =
true;
186 m_logGroupName = std::forward<LogGroupNameT>(value);
188 template <
typename LogGroupNameT = Aws::String>
201 template <
typename ResourceIdT = Aws::String>
203 m_resourceIdHasBeenSet =
true;
204 m_resourceId = std::forward<ResourceIdT>(value);
206 template <
typename ResourceIdT = Aws::String>
220 m_trafficTypeHasBeenSet =
true;
221 m_trafficType = value;
236 m_logDestinationTypeHasBeenSet =
true;
237 m_logDestinationType = value;
251 template <
typename LogDestinationT = Aws::String>
253 m_logDestinationHasBeenSet =
true;
254 m_logDestination = std::forward<LogDestinationT>(value);
256 template <
typename LogDestinationT = Aws::String>
269 template <
typename LogFormatT = Aws::String>
271 m_logFormatHasBeenSet =
true;
272 m_logFormat = std::forward<LogFormatT>(value);
274 template <
typename LogFormatT = Aws::String>
287 template <
typename TagsT = Aws::Vector<Tag>>
289 m_tagsHasBeenSet =
true;
290 m_tags = std::forward<TagsT>(value);
292 template <
typename TagsT = Aws::Vector<Tag>>
294 SetTags(std::forward<TagsT>(value));
297 template <
typename TagsT = Tag>
299 m_tagsHasBeenSet =
true;
300 m_tags.emplace_back(std::forward<TagsT>(value));
318 m_maxAggregationIntervalHasBeenSet =
true;
319 m_maxAggregationInterval = value;
333 template <
typename DestinationOptionsT = DestinationOptionsResponse>
335 m_destinationOptionsHasBeenSet =
true;
336 m_destinationOptions = std::forward<DestinationOptionsT>(value);
338 template <
typename DestinationOptionsT = DestinationOptionsResponse>
352 template <
typename TagFieldSpecificationsT = Aws::Vector<TagFieldSpecificationResponse>>
354 m_tagFieldSpecificationsHasBeenSet =
true;
355 m_tagFieldSpecifications = std::forward<TagFieldSpecificationsT>(value);
357 template <
typename TagFieldSpecificationsT = Aws::Vector<TagFieldSpecificationResponse>>
362 template <
typename TagFieldSpecificationsT = TagFieldSpecificationResponse>
364 m_tagFieldSpecificationsHasBeenSet =
true;
365 m_tagFieldSpecifications.emplace_back(std::forward<TagFieldSpecificationsT>(value));
398 int m_maxAggregationInterval{0};
400 DestinationOptionsResponse m_destinationOptions;
403 bool m_creationTimeHasBeenSet =
false;
404 bool m_deliverLogsErrorMessageHasBeenSet =
false;
405 bool m_deliverLogsPermissionArnHasBeenSet =
false;
406 bool m_deliverCrossAccountRoleHasBeenSet =
false;
407 bool m_deliverLogsStatusHasBeenSet =
false;
408 bool m_flowLogIdHasBeenSet =
false;
409 bool m_flowLogStatusHasBeenSet =
false;
410 bool m_logGroupNameHasBeenSet =
false;
411 bool m_resourceIdHasBeenSet =
false;
412 bool m_trafficTypeHasBeenSet =
false;
413 bool m_logDestinationTypeHasBeenSet =
false;
414 bool m_logDestinationHasBeenSet =
false;
415 bool m_logFormatHasBeenSet =
false;
416 bool m_tagsHasBeenSet =
false;
417 bool m_maxAggregationIntervalHasBeenSet =
false;
418 bool m_destinationOptionsHasBeenSet =
false;
419 bool m_tagFieldSpecificationsHasBeenSet =
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 TagFieldSpecificationsHasBeenSet() const
bool DeliverCrossAccountRoleHasBeenSet() const
bool MaxAggregationIntervalHasBeenSet() const
FlowLog & AddTagFieldSpecifications(TagFieldSpecificationsT &&value)
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
const Aws::Vector< TagFieldSpecificationResponse > & GetTagFieldSpecifications() 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)
void SetTagFieldSpecifications(TagFieldSpecificationsT &&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
FlowLog & WithTagFieldSpecifications(TagFieldSpecificationsT &&value)
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