7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ec2/EC2Request.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/DestinationOptionsRequest.h>
12#include <aws/ec2/model/FlowLogsResourceType.h>
13#include <aws/ec2/model/LogDestinationType.h>
14#include <aws/ec2/model/TagSpecification.h>
15#include <aws/ec2/model/TrafficType.h>
51 m_dryRunHasBeenSet =
true;
69 template <
typename ClientTokenT = Aws::String>
71 m_clientTokenHasBeenSet =
true;
72 m_clientToken = std::forward<ClientTokenT>(value);
74 template <
typename ClientTokenT = 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>
130 template <
typename LogGroupNameT = Aws::String>
132 m_logGroupNameHasBeenSet =
true;
133 m_logGroupName = std::forward<LogGroupNameT>(value);
135 template <
typename LogGroupNameT = Aws::String>
151 template <
typename ResourceIdsT = Aws::Vector<Aws::String>>
153 m_resourceIdsHasBeenSet =
true;
154 m_resourceIds = std::forward<ResourceIdsT>(value);
156 template <
typename ResourceIdsT = Aws::Vector<Aws::String>>
161 template <
typename ResourceIdsT = Aws::String>
163 m_resourceIdsHasBeenSet =
true;
164 m_resourceIds.emplace_back(std::forward<ResourceIdsT>(value));
176 m_resourceTypeHasBeenSet =
true;
177 m_resourceType = value;
194 m_trafficTypeHasBeenSet =
true;
195 m_trafficType = value;
211 m_logDestinationTypeHasBeenSet =
true;
212 m_logDestinationType = value;
239 template <
typename LogDestinationT = Aws::String>
241 m_logDestinationHasBeenSet =
true;
242 m_logDestination = std::forward<LogDestinationT>(value);
244 template <
typename LogDestinationT = Aws::String>
266 template <
typename LogFormatT = Aws::String>
268 m_logFormatHasBeenSet =
true;
269 m_logFormat = std::forward<LogFormatT>(value);
271 template <
typename LogFormatT = Aws::String>
284 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
286 m_tagSpecificationsHasBeenSet =
true;
287 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
289 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
294 template <
typename TagSpecificationsT = TagSpecification>
296 m_tagSpecificationsHasBeenSet =
true;
297 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
315 m_maxAggregationIntervalHasBeenSet =
true;
316 m_maxAggregationInterval = value;
330 template <
typename DestinationOptionsT = DestinationOptionsRequest>
332 m_destinationOptionsHasBeenSet =
true;
333 m_destinationOptions = std::forward<DestinationOptionsT>(value);
335 template <
typename DestinationOptionsT = DestinationOptionsRequest>
342 bool m_dryRun{
false};
366 int m_maxAggregationInterval{0};
368 DestinationOptionsRequest m_destinationOptions;
369 bool m_dryRunHasBeenSet =
false;
370 bool m_clientTokenHasBeenSet =
false;
371 bool m_deliverLogsPermissionArnHasBeenSet =
false;
372 bool m_deliverCrossAccountRoleHasBeenSet =
false;
373 bool m_logGroupNameHasBeenSet =
false;
374 bool m_resourceIdsHasBeenSet =
false;
375 bool m_resourceTypeHasBeenSet =
false;
376 bool m_trafficTypeHasBeenSet =
false;
377 bool m_logDestinationTypeHasBeenSet =
false;
378 bool m_logDestinationHasBeenSet =
false;
379 bool m_logFormatHasBeenSet =
false;
380 bool m_tagSpecificationsHasBeenSet =
false;
381 bool m_maxAggregationIntervalHasBeenSet =
false;
382 bool m_destinationOptionsHasBeenSet =
false;
bool LogDestinationTypeHasBeenSet() const
CreateFlowLogsRequest & WithLogDestinationType(LogDestinationType value)
TrafficType GetTrafficType() const
AWS_EC2_API CreateFlowLogsRequest()=default
const Aws::String & GetDeliverCrossAccountRole() const
CreateFlowLogsRequest & AddResourceIds(ResourceIdsT &&value)
bool TrafficTypeHasBeenSet() const
CreateFlowLogsRequest & WithDeliverCrossAccountRole(DeliverCrossAccountRoleT &&value)
CreateFlowLogsRequest & WithLogGroupName(LogGroupNameT &&value)
void SetLogDestination(LogDestinationT &&value)
void SetDeliverCrossAccountRole(DeliverCrossAccountRoleT &&value)
bool ResourceIdsHasBeenSet() const
CreateFlowLogsRequest & WithLogDestination(LogDestinationT &&value)
const Aws::String & GetLogGroupName() const
void SetLogFormat(LogFormatT &&value)
void SetTrafficType(TrafficType value)
FlowLogsResourceType GetResourceType() const
void SetTagSpecifications(TagSpecificationsT &&value)
bool TagSpecificationsHasBeenSet() const
AWS_EC2_API Aws::String SerializePayload() const override
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const DestinationOptionsRequest & GetDestinationOptions() const
CreateFlowLogsRequest & WithMaxAggregationInterval(int value)
void SetDryRun(bool value)
CreateFlowLogsRequest & WithResourceType(FlowLogsResourceType value)
CreateFlowLogsRequest & WithTagSpecifications(TagSpecificationsT &&value)
bool LogDestinationHasBeenSet() const
bool LogFormatHasBeenSet() const
void SetLogGroupName(LogGroupNameT &&value)
CreateFlowLogsRequest & WithDestinationOptions(DestinationOptionsT &&value)
bool ResourceTypeHasBeenSet() const
bool DeliverCrossAccountRoleHasBeenSet() const
const Aws::String & GetLogFormat() const
const Aws::Vector< Aws::String > & GetResourceIds() const
CreateFlowLogsRequest & AddTagSpecifications(TagSpecificationsT &&value)
CreateFlowLogsRequest & WithResourceIds(ResourceIdsT &&value)
void SetClientToken(ClientTokenT &&value)
bool DeliverLogsPermissionArnHasBeenSet() const
bool LogGroupNameHasBeenSet() const
CreateFlowLogsRequest & WithDryRun(bool value)
bool DryRunHasBeenSet() const
void SetResourceType(FlowLogsResourceType value)
CreateFlowLogsRequest & WithDeliverLogsPermissionArn(DeliverLogsPermissionArnT &&value)
int GetMaxAggregationInterval() const
void SetMaxAggregationInterval(int value)
bool DestinationOptionsHasBeenSet() const
void SetResourceIds(ResourceIdsT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
bool MaxAggregationIntervalHasBeenSet() const
void SetDeliverLogsPermissionArn(DeliverLogsPermissionArnT &&value)
CreateFlowLogsRequest & WithLogFormat(LogFormatT &&value)
const Aws::String & GetLogDestination() const
LogDestinationType GetLogDestinationType() const
void SetDestinationOptions(DestinationOptionsT &&value)
CreateFlowLogsRequest & WithTrafficType(TrafficType value)
const Aws::String & GetClientToken() const
bool ClientTokenHasBeenSet() const
const Aws::String & GetDeliverLogsPermissionArn() const
virtual const char * GetServiceRequestName() const override
CreateFlowLogsRequest & WithClientToken(ClientTokenT &&value)
void SetLogDestinationType(LogDestinationType value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector