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/TrafficType.h>
48 template <
typename CreationTimeT = Aws::Utils::DateTime>
50 m_creationTimeHasBeenSet =
true;
51 m_creationTime = std::forward<CreationTimeT>(value);
53 template <
typename CreationTimeT = Aws::Utils::DateTime>
71 template <
typename DeliverLogsErrorMessageT = Aws::String>
73 m_deliverLogsErrorMessageHasBeenSet =
true;
74 m_deliverLogsErrorMessage = std::forward<DeliverLogsErrorMessageT>(value);
76 template <
typename DeliverLogsErrorMessageT = Aws::String>
90 template <
typename DeliverLogsPermissionArnT = Aws::String>
92 m_deliverLogsPermissionArnHasBeenSet =
true;
93 m_deliverLogsPermissionArn = std::forward<DeliverLogsPermissionArnT>(value);
95 template <
typename DeliverLogsPermissionArnT = Aws::String>
109 template <
typename DeliverCrossAccountRoleT = Aws::String>
111 m_deliverCrossAccountRoleHasBeenSet =
true;
112 m_deliverCrossAccountRole = std::forward<DeliverCrossAccountRoleT>(value);
114 template <
typename DeliverCrossAccountRoleT = Aws::String>
128 template <
typename DeliverLogsStatusT = Aws::String>
130 m_deliverLogsStatusHasBeenSet =
true;
131 m_deliverLogsStatus = std::forward<DeliverLogsStatusT>(value);
133 template <
typename DeliverLogsStatusT = Aws::String>
146 template <
typename FlowLogIdT = Aws::String>
148 m_flowLogIdHasBeenSet =
true;
149 m_flowLogId = std::forward<FlowLogIdT>(value);
151 template <
typename FlowLogIdT = Aws::String>
164 template <
typename FlowLogStatusT = Aws::String>
166 m_flowLogStatusHasBeenSet =
true;
167 m_flowLogStatus = std::forward<FlowLogStatusT>(value);
169 template <
typename FlowLogStatusT = Aws::String>
182 template <
typename LogGroupNameT = Aws::String>
184 m_logGroupNameHasBeenSet =
true;
185 m_logGroupName = std::forward<LogGroupNameT>(value);
187 template <
typename LogGroupNameT = Aws::String>
200 template <
typename ResourceIdT = Aws::String>
202 m_resourceIdHasBeenSet =
true;
203 m_resourceId = std::forward<ResourceIdT>(value);
205 template <
typename ResourceIdT = Aws::String>
219 m_trafficTypeHasBeenSet =
true;
220 m_trafficType = value;
235 m_logDestinationTypeHasBeenSet =
true;
236 m_logDestinationType = value;
250 template <
typename LogDestinationT = Aws::String>
252 m_logDestinationHasBeenSet =
true;
253 m_logDestination = std::forward<LogDestinationT>(value);
255 template <
typename LogDestinationT = Aws::String>
268 template <
typename LogFormatT = Aws::String>
270 m_logFormatHasBeenSet =
true;
271 m_logFormat = std::forward<LogFormatT>(value);
273 template <
typename LogFormatT = Aws::String>
286 template <
typename TagsT = Aws::Vector<Tag>>
288 m_tagsHasBeenSet =
true;
289 m_tags = std::forward<TagsT>(value);
291 template <
typename TagsT = Aws::Vector<Tag>>
293 SetTags(std::forward<TagsT>(value));
296 template <
typename TagsT = Tag>
298 m_tagsHasBeenSet =
true;
299 m_tags.emplace_back(std::forward<TagsT>(value));
317 m_maxAggregationIntervalHasBeenSet =
true;
318 m_maxAggregationInterval = value;
332 template <
typename DestinationOptionsT = DestinationOptionsResponse>
334 m_destinationOptionsHasBeenSet =
true;
335 m_destinationOptions = std::forward<DestinationOptionsT>(value);
337 template <
typename DestinationOptionsT = DestinationOptionsResponse>
372 int m_maxAggregationInterval{0};
374 DestinationOptionsResponse m_destinationOptions;
375 bool m_creationTimeHasBeenSet =
false;
376 bool m_deliverLogsErrorMessageHasBeenSet =
false;
377 bool m_deliverLogsPermissionArnHasBeenSet =
false;
378 bool m_deliverCrossAccountRoleHasBeenSet =
false;
379 bool m_deliverLogsStatusHasBeenSet =
false;
380 bool m_flowLogIdHasBeenSet =
false;
381 bool m_flowLogStatusHasBeenSet =
false;
382 bool m_logGroupNameHasBeenSet =
false;
383 bool m_resourceIdHasBeenSet =
false;
384 bool m_trafficTypeHasBeenSet =
false;
385 bool m_logDestinationTypeHasBeenSet =
false;
386 bool m_logDestinationHasBeenSet =
false;
387 bool m_logFormatHasBeenSet =
false;
388 bool m_tagsHasBeenSet =
false;
389 bool m_maxAggregationIntervalHasBeenSet =
false;
390 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