AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
ProjectCache.h
1
6#pragma once
7#include <aws/codebuild/CodeBuild_EXPORTS.h>
8#include <aws/codebuild/model/CacheMode.h>
9#include <aws/codebuild/model/CacheType.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace CodeBuild {
23namespace Model {
24
32 public:
33 AWS_CODEBUILD_API ProjectCache() = default;
34 AWS_CODEBUILD_API ProjectCache(Aws::Utils::Json::JsonView jsonValue);
35 AWS_CODEBUILD_API ProjectCache& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_CODEBUILD_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
47 inline CacheType GetType() const { return m_type; }
48 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
49 inline void SetType(CacheType value) {
50 m_typeHasBeenSet = true;
51 m_type = value;
52 }
54 SetType(value);
55 return *this;
56 }
58
60
65 inline const Aws::String& GetLocation() const { return m_location; }
66 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
67 template <typename LocationT = Aws::String>
68 void SetLocation(LocationT&& value) {
69 m_locationHasBeenSet = true;
70 m_location = std::forward<LocationT>(value);
71 }
72 template <typename LocationT = Aws::String>
73 ProjectCache& WithLocation(LocationT&& value) {
74 SetLocation(std::forward<LocationT>(value));
75 return *this;
76 }
78
80
107 inline const Aws::Vector<CacheMode>& GetModes() const { return m_modes; }
108 inline bool ModesHasBeenSet() const { return m_modesHasBeenSet; }
109 template <typename ModesT = Aws::Vector<CacheMode>>
110 void SetModes(ModesT&& value) {
111 m_modesHasBeenSet = true;
112 m_modes = std::forward<ModesT>(value);
113 }
114 template <typename ModesT = Aws::Vector<CacheMode>>
115 ProjectCache& WithModes(ModesT&& value) {
116 SetModes(std::forward<ModesT>(value));
117 return *this;
118 }
120 m_modesHasBeenSet = true;
121 m_modes.push_back(value);
122 return *this;
123 }
125
127
133 inline const Aws::String& GetCacheNamespace() const { return m_cacheNamespace; }
134 inline bool CacheNamespaceHasBeenSet() const { return m_cacheNamespaceHasBeenSet; }
135 template <typename CacheNamespaceT = Aws::String>
136 void SetCacheNamespace(CacheNamespaceT&& value) {
137 m_cacheNamespaceHasBeenSet = true;
138 m_cacheNamespace = std::forward<CacheNamespaceT>(value);
139 }
140 template <typename CacheNamespaceT = Aws::String>
141 ProjectCache& WithCacheNamespace(CacheNamespaceT&& value) {
142 SetCacheNamespace(std::forward<CacheNamespaceT>(value));
143 return *this;
144 }
146 private:
148
149 Aws::String m_location;
150
152
153 Aws::String m_cacheNamespace;
154 bool m_typeHasBeenSet = false;
155 bool m_locationHasBeenSet = false;
156 bool m_modesHasBeenSet = false;
157 bool m_cacheNamespaceHasBeenSet = false;
158};
159
160} // namespace Model
161} // namespace CodeBuild
162} // namespace Aws
AWS_CODEBUILD_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_CODEBUILD_API ProjectCache()=default
const Aws::String & GetCacheNamespace() const
ProjectCache & WithModes(ModesT &&value)
ProjectCache & WithLocation(LocationT &&value)
const Aws::Vector< CacheMode > & GetModes() const
const Aws::String & GetLocation() const
ProjectCache & WithType(CacheType value)
AWS_CODEBUILD_API ProjectCache & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetCacheNamespace(CacheNamespaceT &&value)
void SetLocation(LocationT &&value)
ProjectCache & AddModes(CacheMode value)
ProjectCache & WithCacheNamespace(CacheNamespaceT &&value)
AWS_CODEBUILD_API ProjectCache(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue