7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/FlowLogsResourceType.h>
12#include <aws/ec2/model/TrafficType.h>
13#include <aws/ec2/model/LogDestinationType.h>
14#include <aws/ec2/model/DestinationOptionsRequest.h>
15#include <aws/ec2/model/TagSpecification.h>
54 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
67 template<
typename ClientTokenT = Aws::String>
68 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
69 template<
typename ClientTokenT = Aws::String>
83 template<
typename DeliverLogsPermissionArnT = Aws::String>
84 void SetDeliverLogsPermissionArn(DeliverLogsPermissionArnT&& value) { m_deliverLogsPermissionArnHasBeenSet =
true; m_deliverLogsPermissionArn = std::forward<DeliverLogsPermissionArnT>(value); }
85 template<
typename DeliverLogsPermissionArnT = Aws::String>
96 template<
typename DeliverCrossAccountRoleT = Aws::String>
97 void SetDeliverCrossAccountRole(DeliverCrossAccountRoleT&& value) { m_deliverCrossAccountRoleHasBeenSet =
true; m_deliverCrossAccountRole = std::forward<DeliverCrossAccountRoleT>(value); }
98 template<
typename DeliverCrossAccountRoleT = Aws::String>
110 template<
typename LogGroupNameT = Aws::String>
111 void SetLogGroupName(LogGroupNameT&& value) { m_logGroupNameHasBeenSet =
true; m_logGroupName = std::forward<LogGroupNameT>(value); }
112 template<
typename LogGroupNameT = Aws::String>
125 template<
typename ResourceIdsT = Aws::Vector<Aws::String>>
126 void SetResourceIds(ResourceIdsT&& value) { m_resourceIdsHasBeenSet =
true; m_resourceIds = std::forward<ResourceIdsT>(value); }
127 template<
typename ResourceIdsT = Aws::Vector<Aws::String>>
129 template<
typename ResourceIdsT = Aws::String>
185 template<
typename LogDestinationT = Aws::String>
186 void SetLogDestination(LogDestinationT&& value) { m_logDestinationHasBeenSet =
true; m_logDestination = std::forward<LogDestinationT>(value); }
187 template<
typename LogDestinationT = Aws::String>
206 template<
typename LogFormatT = Aws::String>
207 void SetLogFormat(LogFormatT&& value) { m_logFormatHasBeenSet =
true; m_logFormat = std::forward<LogFormatT>(value); }
208 template<
typename LogFormatT = Aws::String>
218 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
219 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
220 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
222 template<
typename TagSpecificationsT = TagSpecification>
248 template<
typename DestinationOptionsT = DestinationOptionsRequest>
249 void SetDestinationOptions(DestinationOptionsT&& value) { m_destinationOptionsHasBeenSet =
true; m_destinationOptions = std::forward<DestinationOptionsT>(value); }
250 template<
typename DestinationOptionsT = DestinationOptionsRequest>
255 bool m_dryRun{
false};
256 bool m_dryRunHasBeenSet =
false;
259 bool m_clientTokenHasBeenSet =
false;
262 bool m_deliverLogsPermissionArnHasBeenSet =
false;
265 bool m_deliverCrossAccountRoleHasBeenSet =
false;
268 bool m_logGroupNameHasBeenSet =
false;
271 bool m_resourceIdsHasBeenSet =
false;
274 bool m_resourceTypeHasBeenSet =
false;
277 bool m_trafficTypeHasBeenSet =
false;
280 bool m_logDestinationTypeHasBeenSet =
false;
283 bool m_logDestinationHasBeenSet =
false;
286 bool m_logFormatHasBeenSet =
false;
289 bool m_tagSpecificationsHasBeenSet =
false;
291 int m_maxAggregationInterval{0};
292 bool m_maxAggregationIntervalHasBeenSet =
false;
294 DestinationOptionsRequest m_destinationOptions;
295 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