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/TagFieldSpecificationRequest.h>
15#include <aws/ec2/model/TagSpecification.h>
16#include <aws/ec2/model/TrafficType.h>
52 m_dryRunHasBeenSet =
true;
70 template <
typename ClientTokenT = Aws::String>
72 m_clientTokenHasBeenSet =
true;
73 m_clientToken = std::forward<ClientTokenT>(value);
75 template <
typename ClientTokenT = Aws::String>
92 template <
typename DeliverLogsPermissionArnT = Aws::String>
94 m_deliverLogsPermissionArnHasBeenSet =
true;
95 m_deliverLogsPermissionArn = std::forward<DeliverLogsPermissionArnT>(value);
97 template <
typename DeliverLogsPermissionArnT = Aws::String>
111 template <
typename DeliverCrossAccountRoleT = Aws::String>
113 m_deliverCrossAccountRoleHasBeenSet =
true;
114 m_deliverCrossAccountRole = std::forward<DeliverCrossAccountRoleT>(value);
116 template <
typename DeliverCrossAccountRoleT = Aws::String>
131 template <
typename LogGroupNameT = Aws::String>
133 m_logGroupNameHasBeenSet =
true;
134 m_logGroupName = std::forward<LogGroupNameT>(value);
136 template <
typename LogGroupNameT = Aws::String>
152 template <
typename ResourceIdsT = Aws::Vector<Aws::String>>
154 m_resourceIdsHasBeenSet =
true;
155 m_resourceIds = std::forward<ResourceIdsT>(value);
157 template <
typename ResourceIdsT = Aws::Vector<Aws::String>>
162 template <
typename ResourceIdsT = Aws::String>
164 m_resourceIdsHasBeenSet =
true;
165 m_resourceIds.emplace_back(std::forward<ResourceIdsT>(value));
177 m_resourceTypeHasBeenSet =
true;
178 m_resourceType = value;
195 m_trafficTypeHasBeenSet =
true;
196 m_trafficType = value;
212 m_logDestinationTypeHasBeenSet =
true;
213 m_logDestinationType = value;
240 template <
typename LogDestinationT = Aws::String>
242 m_logDestinationHasBeenSet =
true;
243 m_logDestination = std::forward<LogDestinationT>(value);
245 template <
typename LogDestinationT = Aws::String>
267 template <
typename LogFormatT = Aws::String>
269 m_logFormatHasBeenSet =
true;
270 m_logFormat = std::forward<LogFormatT>(value);
272 template <
typename LogFormatT = Aws::String>
285 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
287 m_tagSpecificationsHasBeenSet =
true;
288 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
290 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
295 template <
typename TagSpecificationsT = TagSpecification>
297 m_tagSpecificationsHasBeenSet =
true;
298 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
316 m_maxAggregationIntervalHasBeenSet =
true;
317 m_maxAggregationInterval = value;
331 template <
typename DestinationOptionsT = DestinationOptionsRequest>
333 m_destinationOptionsHasBeenSet =
true;
334 m_destinationOptions = std::forward<DestinationOptionsT>(value);
336 template <
typename DestinationOptionsT = DestinationOptionsRequest>
350 template <
typename TagFieldSpecificationsT = Aws::Vector<TagFieldSpecificationRequest>>
352 m_tagFieldSpecificationsHasBeenSet =
true;
353 m_tagFieldSpecifications = std::forward<TagFieldSpecificationsT>(value);
355 template <
typename TagFieldSpecificationsT = Aws::Vector<TagFieldSpecificationRequest>>
360 template <
typename TagFieldSpecificationsT = TagFieldSpecificationRequest>
362 m_tagFieldSpecificationsHasBeenSet =
true;
363 m_tagFieldSpecifications.emplace_back(std::forward<TagFieldSpecificationsT>(value));
368 bool m_dryRun{
false};
392 int m_maxAggregationInterval{0};
394 DestinationOptionsRequest m_destinationOptions;
397 bool m_dryRunHasBeenSet =
false;
398 bool m_clientTokenHasBeenSet =
false;
399 bool m_deliverLogsPermissionArnHasBeenSet =
false;
400 bool m_deliverCrossAccountRoleHasBeenSet =
false;
401 bool m_logGroupNameHasBeenSet =
false;
402 bool m_resourceIdsHasBeenSet =
false;
403 bool m_resourceTypeHasBeenSet =
false;
404 bool m_trafficTypeHasBeenSet =
false;
405 bool m_logDestinationTypeHasBeenSet =
false;
406 bool m_logDestinationHasBeenSet =
false;
407 bool m_logFormatHasBeenSet =
false;
408 bool m_tagSpecificationsHasBeenSet =
false;
409 bool m_maxAggregationIntervalHasBeenSet =
false;
410 bool m_destinationOptionsHasBeenSet =
false;
411 bool m_tagFieldSpecificationsHasBeenSet =
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)
CreateFlowLogsRequest & WithTagFieldSpecifications(TagFieldSpecificationsT &&value)
void SetTrafficType(TrafficType value)
FlowLogsResourceType GetResourceType() const
void SetTagSpecifications(TagSpecificationsT &&value)
void SetTagFieldSpecifications(TagFieldSpecificationsT &&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)
CreateFlowLogsRequest & AddTagFieldSpecifications(TagFieldSpecificationsT &&value)
bool DeliverLogsPermissionArnHasBeenSet() const
bool LogGroupNameHasBeenSet() const
const Aws::Vector< TagFieldSpecificationRequest > & GetTagFieldSpecifications() const
CreateFlowLogsRequest & WithDryRun(bool value)
bool DryRunHasBeenSet() const
void SetResourceType(FlowLogsResourceType value)
CreateFlowLogsRequest & WithDeliverLogsPermissionArn(DeliverLogsPermissionArnT &&value)
int GetMaxAggregationInterval() const
bool TagFieldSpecificationsHasBeenSet() 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