AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
PathElement.h
1
6#pragma once
7#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8#include <aws/accessanalyzer/model/Substring.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 AccessAnalyzer {
21namespace Model {
22
30 public:
31 AWS_ACCESSANALYZER_API PathElement() = default;
32 AWS_ACCESSANALYZER_API PathElement(Aws::Utils::Json::JsonView jsonValue);
33 AWS_ACCESSANALYZER_API PathElement& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline int GetIndex() const { return m_index; }
41 inline bool IndexHasBeenSet() const { return m_indexHasBeenSet; }
42 inline void SetIndex(int value) {
43 m_indexHasBeenSet = true;
44 m_index = value;
45 }
46 inline PathElement& WithIndex(int value) {
47 SetIndex(value);
48 return *this;
49 }
51
53
56 inline const Aws::String& GetKey() const { return m_key; }
57 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
58 template <typename KeyT = Aws::String>
59 void SetKey(KeyT&& value) {
60 m_keyHasBeenSet = true;
61 m_key = std::forward<KeyT>(value);
62 }
63 template <typename KeyT = Aws::String>
64 PathElement& WithKey(KeyT&& value) {
65 SetKey(std::forward<KeyT>(value));
66 return *this;
67 }
69
71
74 inline const Substring& GetSubstring() const { return m_substring; }
75 inline bool SubstringHasBeenSet() const { return m_substringHasBeenSet; }
76 template <typename SubstringT = Substring>
77 void SetSubstring(SubstringT&& value) {
78 m_substringHasBeenSet = true;
79 m_substring = std::forward<SubstringT>(value);
80 }
81 template <typename SubstringT = Substring>
82 PathElement& WithSubstring(SubstringT&& value) {
83 SetSubstring(std::forward<SubstringT>(value));
84 return *this;
85 }
87
89
92 inline const Aws::String& GetValue() const { return m_value; }
93 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
94 template <typename ValueT = Aws::String>
95 void SetValue(ValueT&& value) {
96 m_valueHasBeenSet = true;
97 m_value = std::forward<ValueT>(value);
98 }
99 template <typename ValueT = Aws::String>
100 PathElement& WithValue(ValueT&& value) {
101 SetValue(std::forward<ValueT>(value));
102 return *this;
103 }
105 private:
106 int m_index{0};
107
108 Aws::String m_key;
109
110 Substring m_substring;
111
112 Aws::String m_value;
113 bool m_indexHasBeenSet = false;
114 bool m_keyHasBeenSet = false;
115 bool m_substringHasBeenSet = false;
116 bool m_valueHasBeenSet = false;
117};
118
119} // namespace Model
120} // namespace AccessAnalyzer
121} // namespace Aws
const Aws::String & GetKey() const
Definition PathElement.h:56
AWS_ACCESSANALYZER_API PathElement()=default
PathElement & WithSubstring(SubstringT &&value)
Definition PathElement.h:82
void SetSubstring(SubstringT &&value)
Definition PathElement.h:77
AWS_ACCESSANALYZER_API PathElement(Aws::Utils::Json::JsonView jsonValue)
PathElement & WithIndex(int value)
Definition PathElement.h:46
const Substring & GetSubstring() const
Definition PathElement.h:74
PathElement & WithKey(KeyT &&value)
Definition PathElement.h:64
const Aws::String & GetValue() const
Definition PathElement.h:92
PathElement & WithValue(ValueT &&value)
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_ACCESSANALYZER_API PathElement & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue