AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
Location.h
1
6#pragma once
7#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8#include <aws/accessanalyzer/model/PathElement.h>
9#include <aws/accessanalyzer/model/Span.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace AccessAnalyzer {
22namespace Model {
23
30class Location {
31 public:
32 AWS_ACCESSANALYZER_API Location() = default;
33 AWS_ACCESSANALYZER_API Location(Aws::Utils::Json::JsonView jsonValue);
34 AWS_ACCESSANALYZER_API Location& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const Aws::Vector<PathElement>& GetPath() const { return m_path; }
42 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
43 template <typename PathT = Aws::Vector<PathElement>>
44 void SetPath(PathT&& value) {
45 m_pathHasBeenSet = true;
46 m_path = std::forward<PathT>(value);
47 }
48 template <typename PathT = Aws::Vector<PathElement>>
49 Location& WithPath(PathT&& value) {
50 SetPath(std::forward<PathT>(value));
51 return *this;
52 }
53 template <typename PathT = PathElement>
54 Location& AddPath(PathT&& value) {
55 m_pathHasBeenSet = true;
56 m_path.emplace_back(std::forward<PathT>(value));
57 return *this;
58 }
60
62
65 inline const Span& GetSpan() const { return m_span; }
66 inline bool SpanHasBeenSet() const { return m_spanHasBeenSet; }
67 template <typename SpanT = Span>
68 void SetSpan(SpanT&& value) {
69 m_spanHasBeenSet = true;
70 m_span = std::forward<SpanT>(value);
71 }
72 template <typename SpanT = Span>
73 Location& WithSpan(SpanT&& value) {
74 SetSpan(std::forward<SpanT>(value));
75 return *this;
76 }
78 private:
80
81 Span m_span;
82 bool m_pathHasBeenSet = false;
83 bool m_spanHasBeenSet = false;
84};
85
86} // namespace Model
87} // namespace AccessAnalyzer
88} // namespace Aws
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const
const Span & GetSpan() const
Definition Location.h:65
Location & WithSpan(SpanT &&value)
Definition Location.h:73
Location & WithPath(PathT &&value)
Definition Location.h:49
Location & AddPath(PathT &&value)
Definition Location.h:54
AWS_ACCESSANALYZER_API Location()=default
AWS_ACCESSANALYZER_API Location & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< PathElement > & GetPath() const
Definition Location.h:41
AWS_ACCESSANALYZER_API Location(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue