AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
RootCause.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/RootCauseImpact.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace CostExplorer {
21namespace Model {
22
32class RootCause {
33 public:
34 AWS_COSTEXPLORER_API RootCause() = default;
35 AWS_COSTEXPLORER_API RootCause(Aws::Utils::Json::JsonView jsonValue);
36 AWS_COSTEXPLORER_API RootCause& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
44 inline const Aws::String& GetService() const { return m_service; }
45 inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; }
46 template <typename ServiceT = Aws::String>
47 void SetService(ServiceT&& value) {
48 m_serviceHasBeenSet = true;
49 m_service = std::forward<ServiceT>(value);
50 }
51 template <typename ServiceT = Aws::String>
52 RootCause& WithService(ServiceT&& value) {
53 SetService(std::forward<ServiceT>(value));
54 return *this;
55 }
57
59
62 inline const Aws::String& GetRegion() const { return m_region; }
63 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
64 template <typename RegionT = Aws::String>
65 void SetRegion(RegionT&& value) {
66 m_regionHasBeenSet = true;
67 m_region = std::forward<RegionT>(value);
68 }
69 template <typename RegionT = Aws::String>
70 RootCause& WithRegion(RegionT&& value) {
71 SetRegion(std::forward<RegionT>(value));
72 return *this;
73 }
75
77
80 inline const Aws::String& GetLinkedAccount() const { return m_linkedAccount; }
81 inline bool LinkedAccountHasBeenSet() const { return m_linkedAccountHasBeenSet; }
82 template <typename LinkedAccountT = Aws::String>
83 void SetLinkedAccount(LinkedAccountT&& value) {
84 m_linkedAccountHasBeenSet = true;
85 m_linkedAccount = std::forward<LinkedAccountT>(value);
86 }
87 template <typename LinkedAccountT = Aws::String>
88 RootCause& WithLinkedAccount(LinkedAccountT&& value) {
89 SetLinkedAccount(std::forward<LinkedAccountT>(value));
90 return *this;
91 }
93
95
98 inline const Aws::String& GetLinkedAccountName() const { return m_linkedAccountName; }
99 inline bool LinkedAccountNameHasBeenSet() const { return m_linkedAccountNameHasBeenSet; }
100 template <typename LinkedAccountNameT = Aws::String>
101 void SetLinkedAccountName(LinkedAccountNameT&& value) {
102 m_linkedAccountNameHasBeenSet = true;
103 m_linkedAccountName = std::forward<LinkedAccountNameT>(value);
104 }
105 template <typename LinkedAccountNameT = Aws::String>
106 RootCause& WithLinkedAccountName(LinkedAccountNameT&& value) {
107 SetLinkedAccountName(std::forward<LinkedAccountNameT>(value));
108 return *this;
109 }
111
113
117 inline const Aws::String& GetUsageType() const { return m_usageType; }
118 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
119 template <typename UsageTypeT = Aws::String>
120 void SetUsageType(UsageTypeT&& value) {
121 m_usageTypeHasBeenSet = true;
122 m_usageType = std::forward<UsageTypeT>(value);
123 }
124 template <typename UsageTypeT = Aws::String>
125 RootCause& WithUsageType(UsageTypeT&& value) {
126 SetUsageType(std::forward<UsageTypeT>(value));
127 return *this;
128 }
130
132
135 inline const RootCauseImpact& GetImpact() const { return m_impact; }
136 inline bool ImpactHasBeenSet() const { return m_impactHasBeenSet; }
137 template <typename ImpactT = RootCauseImpact>
138 void SetImpact(ImpactT&& value) {
139 m_impactHasBeenSet = true;
140 m_impact = std::forward<ImpactT>(value);
141 }
142 template <typename ImpactT = RootCauseImpact>
143 RootCause& WithImpact(ImpactT&& value) {
144 SetImpact(std::forward<ImpactT>(value));
145 return *this;
146 }
148 private:
149 Aws::String m_service;
150
151 Aws::String m_region;
152
153 Aws::String m_linkedAccount;
154
155 Aws::String m_linkedAccountName;
156
157 Aws::String m_usageType;
158
159 RootCauseImpact m_impact;
160 bool m_serviceHasBeenSet = false;
161 bool m_regionHasBeenSet = false;
162 bool m_linkedAccountHasBeenSet = false;
163 bool m_linkedAccountNameHasBeenSet = false;
164 bool m_usageTypeHasBeenSet = false;
165 bool m_impactHasBeenSet = false;
166};
167
168} // namespace Model
169} // namespace CostExplorer
170} // namespace Aws
RootCause & WithUsageType(UsageTypeT &&value)
Definition RootCause.h:125
const Aws::String & GetLinkedAccountName() const
Definition RootCause.h:98
AWS_COSTEXPLORER_API RootCause(Aws::Utils::Json::JsonView jsonValue)
const RootCauseImpact & GetImpact() const
Definition RootCause.h:135
RootCause & WithLinkedAccountName(LinkedAccountNameT &&value)
Definition RootCause.h:106
void SetLinkedAccount(LinkedAccountT &&value)
Definition RootCause.h:83
const Aws::String & GetService() const
Definition RootCause.h:44
AWS_COSTEXPLORER_API RootCause & operator=(Aws::Utils::Json::JsonView jsonValue)
RootCause & WithRegion(RegionT &&value)
Definition RootCause.h:70
RootCause & WithService(ServiceT &&value)
Definition RootCause.h:52
const Aws::String & GetUsageType() const
Definition RootCause.h:117
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetLinkedAccount() const
Definition RootCause.h:80
void SetRegion(RegionT &&value)
Definition RootCause.h:65
RootCause & WithLinkedAccount(LinkedAccountT &&value)
Definition RootCause.h:88
void SetUsageType(UsageTypeT &&value)
Definition RootCause.h:120
const Aws::String & GetRegion() const
Definition RootCause.h:62
void SetService(ServiceT &&value)
Definition RootCause.h:47
AWS_COSTEXPLORER_API RootCause()=default
void SetLinkedAccountName(LinkedAccountNameT &&value)
Definition RootCause.h:101
RootCause & WithImpact(ImpactT &&value)
Definition RootCause.h:143
void SetImpact(ImpactT &&value)
Definition RootCause.h:138
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue