AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
AdditionalDetail.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/AnalysisComponent.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/RuleOption.h>
13#include <aws/ec2/model/RuleGroupTypePair.h>
14#include <aws/ec2/model/RuleGroupRuleOptionsPair.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Xml
22{
23 class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace EC2
27{
28namespace Model
29{
30
40 {
41 public:
42 AWS_EC2_API AdditionalDetail() = default;
43 AWS_EC2_API AdditionalDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
45
46 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
47 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
48
49
51
54 inline const Aws::String& GetAdditionalDetailType() const { return m_additionalDetailType; }
55 inline bool AdditionalDetailTypeHasBeenSet() const { return m_additionalDetailTypeHasBeenSet; }
56 template<typename AdditionalDetailTypeT = Aws::String>
57 void SetAdditionalDetailType(AdditionalDetailTypeT&& value) { m_additionalDetailTypeHasBeenSet = true; m_additionalDetailType = std::forward<AdditionalDetailTypeT>(value); }
58 template<typename AdditionalDetailTypeT = Aws::String>
59 AdditionalDetail& WithAdditionalDetailType(AdditionalDetailTypeT&& value) { SetAdditionalDetailType(std::forward<AdditionalDetailTypeT>(value)); return *this;}
61
63
66 inline const AnalysisComponent& GetComponent() const { return m_component; }
67 inline bool ComponentHasBeenSet() const { return m_componentHasBeenSet; }
68 template<typename ComponentT = AnalysisComponent>
69 void SetComponent(ComponentT&& value) { m_componentHasBeenSet = true; m_component = std::forward<ComponentT>(value); }
70 template<typename ComponentT = AnalysisComponent>
71 AdditionalDetail& WithComponent(ComponentT&& value) { SetComponent(std::forward<ComponentT>(value)); return *this;}
73
75
78 inline const AnalysisComponent& GetVpcEndpointService() const { return m_vpcEndpointService; }
79 inline bool VpcEndpointServiceHasBeenSet() const { return m_vpcEndpointServiceHasBeenSet; }
80 template<typename VpcEndpointServiceT = AnalysisComponent>
81 void SetVpcEndpointService(VpcEndpointServiceT&& value) { m_vpcEndpointServiceHasBeenSet = true; m_vpcEndpointService = std::forward<VpcEndpointServiceT>(value); }
82 template<typename VpcEndpointServiceT = AnalysisComponent>
83 AdditionalDetail& WithVpcEndpointService(VpcEndpointServiceT&& value) { SetVpcEndpointService(std::forward<VpcEndpointServiceT>(value)); return *this;}
85
87
90 inline const Aws::Vector<RuleOption>& GetRuleOptions() const { return m_ruleOptions; }
91 inline bool RuleOptionsHasBeenSet() const { return m_ruleOptionsHasBeenSet; }
92 template<typename RuleOptionsT = Aws::Vector<RuleOption>>
93 void SetRuleOptions(RuleOptionsT&& value) { m_ruleOptionsHasBeenSet = true; m_ruleOptions = std::forward<RuleOptionsT>(value); }
94 template<typename RuleOptionsT = Aws::Vector<RuleOption>>
95 AdditionalDetail& WithRuleOptions(RuleOptionsT&& value) { SetRuleOptions(std::forward<RuleOptionsT>(value)); return *this;}
96 template<typename RuleOptionsT = RuleOption>
97 AdditionalDetail& AddRuleOptions(RuleOptionsT&& value) { m_ruleOptionsHasBeenSet = true; m_ruleOptions.emplace_back(std::forward<RuleOptionsT>(value)); return *this; }
99
101
104 inline const Aws::Vector<RuleGroupTypePair>& GetRuleGroupTypePairs() const { return m_ruleGroupTypePairs; }
105 inline bool RuleGroupTypePairsHasBeenSet() const { return m_ruleGroupTypePairsHasBeenSet; }
106 template<typename RuleGroupTypePairsT = Aws::Vector<RuleGroupTypePair>>
107 void SetRuleGroupTypePairs(RuleGroupTypePairsT&& value) { m_ruleGroupTypePairsHasBeenSet = true; m_ruleGroupTypePairs = std::forward<RuleGroupTypePairsT>(value); }
108 template<typename RuleGroupTypePairsT = Aws::Vector<RuleGroupTypePair>>
109 AdditionalDetail& WithRuleGroupTypePairs(RuleGroupTypePairsT&& value) { SetRuleGroupTypePairs(std::forward<RuleGroupTypePairsT>(value)); return *this;}
110 template<typename RuleGroupTypePairsT = RuleGroupTypePair>
111 AdditionalDetail& AddRuleGroupTypePairs(RuleGroupTypePairsT&& value) { m_ruleGroupTypePairsHasBeenSet = true; m_ruleGroupTypePairs.emplace_back(std::forward<RuleGroupTypePairsT>(value)); return *this; }
113
115
118 inline const Aws::Vector<RuleGroupRuleOptionsPair>& GetRuleGroupRuleOptionsPairs() const { return m_ruleGroupRuleOptionsPairs; }
119 inline bool RuleGroupRuleOptionsPairsHasBeenSet() const { return m_ruleGroupRuleOptionsPairsHasBeenSet; }
120 template<typename RuleGroupRuleOptionsPairsT = Aws::Vector<RuleGroupRuleOptionsPair>>
121 void SetRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT&& value) { m_ruleGroupRuleOptionsPairsHasBeenSet = true; m_ruleGroupRuleOptionsPairs = std::forward<RuleGroupRuleOptionsPairsT>(value); }
122 template<typename RuleGroupRuleOptionsPairsT = Aws::Vector<RuleGroupRuleOptionsPair>>
123 AdditionalDetail& WithRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT&& value) { SetRuleGroupRuleOptionsPairs(std::forward<RuleGroupRuleOptionsPairsT>(value)); return *this;}
124 template<typename RuleGroupRuleOptionsPairsT = RuleGroupRuleOptionsPair>
125 AdditionalDetail& AddRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT&& value) { m_ruleGroupRuleOptionsPairsHasBeenSet = true; m_ruleGroupRuleOptionsPairs.emplace_back(std::forward<RuleGroupRuleOptionsPairsT>(value)); return *this; }
127
129
132 inline const Aws::String& GetServiceName() const { return m_serviceName; }
133 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
134 template<typename ServiceNameT = Aws::String>
135 void SetServiceName(ServiceNameT&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::forward<ServiceNameT>(value); }
136 template<typename ServiceNameT = Aws::String>
137 AdditionalDetail& WithServiceName(ServiceNameT&& value) { SetServiceName(std::forward<ServiceNameT>(value)); return *this;}
139
141
144 inline const Aws::Vector<AnalysisComponent>& GetLoadBalancers() const { return m_loadBalancers; }
145 inline bool LoadBalancersHasBeenSet() const { return m_loadBalancersHasBeenSet; }
146 template<typename LoadBalancersT = Aws::Vector<AnalysisComponent>>
147 void SetLoadBalancers(LoadBalancersT&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = std::forward<LoadBalancersT>(value); }
148 template<typename LoadBalancersT = Aws::Vector<AnalysisComponent>>
149 AdditionalDetail& WithLoadBalancers(LoadBalancersT&& value) { SetLoadBalancers(std::forward<LoadBalancersT>(value)); return *this;}
150 template<typename LoadBalancersT = AnalysisComponent>
151 AdditionalDetail& AddLoadBalancers(LoadBalancersT&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.emplace_back(std::forward<LoadBalancersT>(value)); return *this; }
153 private:
154
155 Aws::String m_additionalDetailType;
156 bool m_additionalDetailTypeHasBeenSet = false;
157
158 AnalysisComponent m_component;
159 bool m_componentHasBeenSet = false;
160
161 AnalysisComponent m_vpcEndpointService;
162 bool m_vpcEndpointServiceHasBeenSet = false;
163
164 Aws::Vector<RuleOption> m_ruleOptions;
165 bool m_ruleOptionsHasBeenSet = false;
166
167 Aws::Vector<RuleGroupTypePair> m_ruleGroupTypePairs;
168 bool m_ruleGroupTypePairsHasBeenSet = false;
169
170 Aws::Vector<RuleGroupRuleOptionsPair> m_ruleGroupRuleOptionsPairs;
171 bool m_ruleGroupRuleOptionsPairsHasBeenSet = false;
172
173 Aws::String m_serviceName;
174 bool m_serviceNameHasBeenSet = false;
175
176 Aws::Vector<AnalysisComponent> m_loadBalancers;
177 bool m_loadBalancersHasBeenSet = false;
178 };
179
180} // namespace Model
181} // namespace EC2
182} // namespace Aws
AdditionalDetail & WithLoadBalancers(LoadBalancersT &&value)
AWS_EC2_API AdditionalDetail()=default
AWS_EC2_API AdditionalDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AdditionalDetail & WithServiceName(ServiceNameT &&value)
const AnalysisComponent & GetVpcEndpointService() const
void SetRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT &&value)
AdditionalDetail & WithComponent(ComponentT &&value)
AdditionalDetail & WithRuleOptions(RuleOptionsT &&value)
AdditionalDetail & WithRuleGroupTypePairs(RuleGroupTypePairsT &&value)
AdditionalDetail & WithRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT &&value)
void SetRuleOptions(RuleOptionsT &&value)
AdditionalDetail & WithAdditionalDetailType(AdditionalDetailTypeT &&value)
const Aws::String & GetServiceName() const
void SetComponent(ComponentT &&value)
AdditionalDetail & AddRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT &&value)
AdditionalDetail & AddLoadBalancers(LoadBalancersT &&value)
void SetLoadBalancers(LoadBalancersT &&value)
const AnalysisComponent & GetComponent() const
void SetVpcEndpointService(VpcEndpointServiceT &&value)
const Aws::Vector< RuleGroupRuleOptionsPair > & GetRuleGroupRuleOptionsPairs() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetServiceName(ServiceNameT &&value)
AdditionalDetail & WithVpcEndpointService(VpcEndpointServiceT &&value)
AWS_EC2_API AdditionalDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetAdditionalDetailType(AdditionalDetailTypeT &&value)
const Aws::String & GetAdditionalDetailType() const
const Aws::Vector< RuleOption > & GetRuleOptions() const
AdditionalDetail & AddRuleGroupTypePairs(RuleGroupTypePairsT &&value)
void SetRuleGroupTypePairs(RuleGroupTypePairsT &&value)
AdditionalDetail & AddRuleOptions(RuleOptionsT &&value)
const Aws::Vector< AnalysisComponent > & GetLoadBalancers() const
const Aws::Vector< RuleGroupTypePair > & GetRuleGroupTypePairs() 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