AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ResolverRuleConfig.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/route53resolver/Route53Resolver_EXPORTS.h>
10#include <aws/route53resolver/model/TargetAddress.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Route53Resolver {
22namespace Model {
23
33 public:
34 AWS_ROUTE53RESOLVER_API ResolverRuleConfig() = default;
35 AWS_ROUTE53RESOLVER_API ResolverRuleConfig(Aws::Utils::Json::JsonView jsonValue);
36 AWS_ROUTE53RESOLVER_API ResolverRuleConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_ROUTE53RESOLVER_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
46 inline const Aws::String& GetName() const { return m_name; }
47 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
48 template <typename NameT = Aws::String>
49 void SetName(NameT&& value) {
50 m_nameHasBeenSet = true;
51 m_name = std::forward<NameT>(value);
52 }
53 template <typename NameT = Aws::String>
54 ResolverRuleConfig& WithName(NameT&& value) {
55 SetName(std::forward<NameT>(value));
56 return *this;
57 }
59
61
65 inline const Aws::Vector<TargetAddress>& GetTargetIps() const { return m_targetIps; }
66 inline bool TargetIpsHasBeenSet() const { return m_targetIpsHasBeenSet; }
67 template <typename TargetIpsT = Aws::Vector<TargetAddress>>
68 void SetTargetIps(TargetIpsT&& value) {
69 m_targetIpsHasBeenSet = true;
70 m_targetIps = std::forward<TargetIpsT>(value);
71 }
72 template <typename TargetIpsT = Aws::Vector<TargetAddress>>
73 ResolverRuleConfig& WithTargetIps(TargetIpsT&& value) {
74 SetTargetIps(std::forward<TargetIpsT>(value));
75 return *this;
76 }
77 template <typename TargetIpsT = TargetAddress>
78 ResolverRuleConfig& AddTargetIps(TargetIpsT&& value) {
79 m_targetIpsHasBeenSet = true;
80 m_targetIps.emplace_back(std::forward<TargetIpsT>(value));
81 return *this;
82 }
84
86
90 inline const Aws::String& GetResolverEndpointId() const { return m_resolverEndpointId; }
91 inline bool ResolverEndpointIdHasBeenSet() const { return m_resolverEndpointIdHasBeenSet; }
92 template <typename ResolverEndpointIdT = Aws::String>
93 void SetResolverEndpointId(ResolverEndpointIdT&& value) {
94 m_resolverEndpointIdHasBeenSet = true;
95 m_resolverEndpointId = std::forward<ResolverEndpointIdT>(value);
96 }
97 template <typename ResolverEndpointIdT = Aws::String>
98 ResolverRuleConfig& WithResolverEndpointId(ResolverEndpointIdT&& value) {
99 SetResolverEndpointId(std::forward<ResolverEndpointIdT>(value));
100 return *this;
101 }
103 private:
104 Aws::String m_name;
105
106 Aws::Vector<TargetAddress> m_targetIps;
107
108 Aws::String m_resolverEndpointId;
109 bool m_nameHasBeenSet = false;
110 bool m_targetIpsHasBeenSet = false;
111 bool m_resolverEndpointIdHasBeenSet = false;
112};
113
114} // namespace Model
115} // namespace Route53Resolver
116} // namespace Aws
AWS_ROUTE53RESOLVER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_ROUTE53RESOLVER_API ResolverRuleConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetResolverEndpointId(ResolverEndpointIdT &&value)
AWS_ROUTE53RESOLVER_API ResolverRuleConfig(Aws::Utils::Json::JsonView jsonValue)
ResolverRuleConfig & AddTargetIps(TargetIpsT &&value)
const Aws::Vector< TargetAddress > & GetTargetIps() const
ResolverRuleConfig & WithName(NameT &&value)
ResolverRuleConfig & WithResolverEndpointId(ResolverEndpointIdT &&value)
AWS_ROUTE53RESOLVER_API ResolverRuleConfig()=default
ResolverRuleConfig & WithTargetIps(TargetIpsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue