AWS SDK for C++

AWS SDK for C++ Version 1.11.751

Loading...
Searching...
No Matches
TelemetryRule.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/observabilityadmin/ObservabilityAdmin_EXPORTS.h>
10#include <aws/observabilityadmin/model/ResourceType.h>
11#include <aws/observabilityadmin/model/TelemetryDestinationConfiguration.h>
12#include <aws/observabilityadmin/model/TelemetrySourceType.h>
13#include <aws/observabilityadmin/model/TelemetryType.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace ObservabilityAdmin {
25namespace Model {
26
34 public:
35 AWS_OBSERVABILITYADMIN_API TelemetryRule() = default;
36 AWS_OBSERVABILITYADMIN_API TelemetryRule(Aws::Utils::Json::JsonView jsonValue);
37 AWS_OBSERVABILITYADMIN_API TelemetryRule& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_OBSERVABILITYADMIN_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
45 inline ResourceType GetResourceType() const { return m_resourceType; }
46 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
47 inline void SetResourceType(ResourceType value) {
48 m_resourceTypeHasBeenSet = true;
49 m_resourceType = value;
50 }
52 SetResourceType(value);
53 return *this;
54 }
56
58
61 inline TelemetryType GetTelemetryType() const { return m_telemetryType; }
62 inline bool TelemetryTypeHasBeenSet() const { return m_telemetryTypeHasBeenSet; }
63 inline void SetTelemetryType(TelemetryType value) {
64 m_telemetryTypeHasBeenSet = true;
65 m_telemetryType = value;
66 }
68 SetTelemetryType(value);
69 return *this;
70 }
72
74
79 inline const Aws::Vector<TelemetrySourceType>& GetTelemetrySourceTypes() const { return m_telemetrySourceTypes; }
80 inline bool TelemetrySourceTypesHasBeenSet() const { return m_telemetrySourceTypesHasBeenSet; }
81 template <typename TelemetrySourceTypesT = Aws::Vector<TelemetrySourceType>>
82 void SetTelemetrySourceTypes(TelemetrySourceTypesT&& value) {
83 m_telemetrySourceTypesHasBeenSet = true;
84 m_telemetrySourceTypes = std::forward<TelemetrySourceTypesT>(value);
85 }
86 template <typename TelemetrySourceTypesT = Aws::Vector<TelemetrySourceType>>
87 TelemetryRule& WithTelemetrySourceTypes(TelemetrySourceTypesT&& value) {
88 SetTelemetrySourceTypes(std::forward<TelemetrySourceTypesT>(value));
89 return *this;
90 }
92 m_telemetrySourceTypesHasBeenSet = true;
93 m_telemetrySourceTypes.push_back(value);
94 return *this;
95 }
97
99
103 inline const TelemetryDestinationConfiguration& GetDestinationConfiguration() const { return m_destinationConfiguration; }
104 inline bool DestinationConfigurationHasBeenSet() const { return m_destinationConfigurationHasBeenSet; }
105 template <typename DestinationConfigurationT = TelemetryDestinationConfiguration>
106 void SetDestinationConfiguration(DestinationConfigurationT&& value) {
107 m_destinationConfigurationHasBeenSet = true;
108 m_destinationConfiguration = std::forward<DestinationConfigurationT>(value);
109 }
110 template <typename DestinationConfigurationT = TelemetryDestinationConfiguration>
111 TelemetryRule& WithDestinationConfiguration(DestinationConfigurationT&& value) {
112 SetDestinationConfiguration(std::forward<DestinationConfigurationT>(value));
113 return *this;
114 }
116
118
122 inline const Aws::String& GetScope() const { return m_scope; }
123 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
124 template <typename ScopeT = Aws::String>
125 void SetScope(ScopeT&& value) {
126 m_scopeHasBeenSet = true;
127 m_scope = std::forward<ScopeT>(value);
128 }
129 template <typename ScopeT = Aws::String>
130 TelemetryRule& WithScope(ScopeT&& value) {
131 SetScope(std::forward<ScopeT>(value));
132 return *this;
133 }
135
137
141 inline const Aws::String& GetSelectionCriteria() const { return m_selectionCriteria; }
142 inline bool SelectionCriteriaHasBeenSet() const { return m_selectionCriteriaHasBeenSet; }
143 template <typename SelectionCriteriaT = Aws::String>
144 void SetSelectionCriteria(SelectionCriteriaT&& value) {
145 m_selectionCriteriaHasBeenSet = true;
146 m_selectionCriteria = std::forward<SelectionCriteriaT>(value);
147 }
148 template <typename SelectionCriteriaT = Aws::String>
149 TelemetryRule& WithSelectionCriteria(SelectionCriteriaT&& value) {
150 SetSelectionCriteria(std::forward<SelectionCriteriaT>(value));
151 return *this;
152 }
154 private:
155 ResourceType m_resourceType{ResourceType::NOT_SET};
156
157 TelemetryType m_telemetryType{TelemetryType::NOT_SET};
158
159 Aws::Vector<TelemetrySourceType> m_telemetrySourceTypes;
160
161 TelemetryDestinationConfiguration m_destinationConfiguration;
162
163 Aws::String m_scope;
164
165 Aws::String m_selectionCriteria;
166 bool m_resourceTypeHasBeenSet = false;
167 bool m_telemetryTypeHasBeenSet = false;
168 bool m_telemetrySourceTypesHasBeenSet = false;
169 bool m_destinationConfigurationHasBeenSet = false;
170 bool m_scopeHasBeenSet = false;
171 bool m_selectionCriteriaHasBeenSet = false;
172};
173
174} // namespace Model
175} // namespace ObservabilityAdmin
176} // namespace Aws
TelemetryRule & WithTelemetryType(TelemetryType value)
TelemetryRule & WithSelectionCriteria(SelectionCriteriaT &&value)
TelemetryRule & WithScope(ScopeT &&value)
const TelemetryDestinationConfiguration & GetDestinationConfiguration() const
const Aws::String & GetSelectionCriteria() const
void SetTelemetrySourceTypes(TelemetrySourceTypesT &&value)
TelemetryRule & WithResourceType(ResourceType value)
TelemetryRule & AddTelemetrySourceTypes(TelemetrySourceType value)
AWS_OBSERVABILITYADMIN_API TelemetryRule()=default
TelemetryRule & WithTelemetrySourceTypes(TelemetrySourceTypesT &&value)
const Aws::Vector< TelemetrySourceType > & GetTelemetrySourceTypes() const
TelemetryRule & WithDestinationConfiguration(DestinationConfigurationT &&value)
void SetSelectionCriteria(SelectionCriteriaT &&value)
AWS_OBSERVABILITYADMIN_API TelemetryRule & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_OBSERVABILITYADMIN_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_OBSERVABILITYADMIN_API TelemetryRule(Aws::Utils::Json::JsonView jsonValue)
void SetDestinationConfiguration(DestinationConfigurationT &&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