AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
LifecyclePolicyDetailExclusionRulesAmis.h
1
6#pragma once
7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/imagebuilder/model/LifecyclePolicyDetailExclusionRulesAmisLastLaunched.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace imagebuilder
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_IMAGEBUILDER_API LifecyclePolicyDetailExclusionRulesAmis() = default;
41 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline bool GetIsPublic() const { return m_isPublic; }
49 inline bool IsPublicHasBeenSet() const { return m_isPublicHasBeenSet; }
50 inline void SetIsPublic(bool value) { m_isPublicHasBeenSet = true; m_isPublic = value; }
51 inline LifecyclePolicyDetailExclusionRulesAmis& WithIsPublic(bool value) { SetIsPublic(value); return *this;}
53
55
59 inline const Aws::Vector<Aws::String>& GetRegions() const { return m_regions; }
60 inline bool RegionsHasBeenSet() const { return m_regionsHasBeenSet; }
61 template<typename RegionsT = Aws::Vector<Aws::String>>
62 void SetRegions(RegionsT&& value) { m_regionsHasBeenSet = true; m_regions = std::forward<RegionsT>(value); }
63 template<typename RegionsT = Aws::Vector<Aws::String>>
64 LifecyclePolicyDetailExclusionRulesAmis& WithRegions(RegionsT&& value) { SetRegions(std::forward<RegionsT>(value)); return *this;}
65 template<typename RegionsT = Aws::String>
66 LifecyclePolicyDetailExclusionRulesAmis& AddRegions(RegionsT&& value) { m_regionsHasBeenSet = true; m_regions.emplace_back(std::forward<RegionsT>(value)); return *this; }
68
70
74 inline const Aws::Vector<Aws::String>& GetSharedAccounts() const { return m_sharedAccounts; }
75 inline bool SharedAccountsHasBeenSet() const { return m_sharedAccountsHasBeenSet; }
76 template<typename SharedAccountsT = Aws::Vector<Aws::String>>
77 void SetSharedAccounts(SharedAccountsT&& value) { m_sharedAccountsHasBeenSet = true; m_sharedAccounts = std::forward<SharedAccountsT>(value); }
78 template<typename SharedAccountsT = Aws::Vector<Aws::String>>
79 LifecyclePolicyDetailExclusionRulesAmis& WithSharedAccounts(SharedAccountsT&& value) { SetSharedAccounts(std::forward<SharedAccountsT>(value)); return *this;}
80 template<typename SharedAccountsT = Aws::String>
81 LifecyclePolicyDetailExclusionRulesAmis& AddSharedAccounts(SharedAccountsT&& value) { m_sharedAccountsHasBeenSet = true; m_sharedAccounts.emplace_back(std::forward<SharedAccountsT>(value)); return *this; }
83
85
89 inline const LifecyclePolicyDetailExclusionRulesAmisLastLaunched& GetLastLaunched() const { return m_lastLaunched; }
90 inline bool LastLaunchedHasBeenSet() const { return m_lastLaunchedHasBeenSet; }
91 template<typename LastLaunchedT = LifecyclePolicyDetailExclusionRulesAmisLastLaunched>
92 void SetLastLaunched(LastLaunchedT&& value) { m_lastLaunchedHasBeenSet = true; m_lastLaunched = std::forward<LastLaunchedT>(value); }
93 template<typename LastLaunchedT = LifecyclePolicyDetailExclusionRulesAmisLastLaunched>
94 LifecyclePolicyDetailExclusionRulesAmis& WithLastLaunched(LastLaunchedT&& value) { SetLastLaunched(std::forward<LastLaunchedT>(value)); return *this;}
96
98
102 inline const Aws::Map<Aws::String, Aws::String>& GetTagMap() const { return m_tagMap; }
103 inline bool TagMapHasBeenSet() const { return m_tagMapHasBeenSet; }
104 template<typename TagMapT = Aws::Map<Aws::String, Aws::String>>
105 void SetTagMap(TagMapT&& value) { m_tagMapHasBeenSet = true; m_tagMap = std::forward<TagMapT>(value); }
106 template<typename TagMapT = Aws::Map<Aws::String, Aws::String>>
107 LifecyclePolicyDetailExclusionRulesAmis& WithTagMap(TagMapT&& value) { SetTagMap(std::forward<TagMapT>(value)); return *this;}
108 template<typename TagMapKeyT = Aws::String, typename TagMapValueT = Aws::String>
109 LifecyclePolicyDetailExclusionRulesAmis& AddTagMap(TagMapKeyT&& key, TagMapValueT&& value) {
110 m_tagMapHasBeenSet = true; m_tagMap.emplace(std::forward<TagMapKeyT>(key), std::forward<TagMapValueT>(value)); return *this;
111 }
113 private:
114
115 bool m_isPublic{false};
116 bool m_isPublicHasBeenSet = false;
117
118 Aws::Vector<Aws::String> m_regions;
119 bool m_regionsHasBeenSet = false;
120
121 Aws::Vector<Aws::String> m_sharedAccounts;
122 bool m_sharedAccountsHasBeenSet = false;
123
124 LifecyclePolicyDetailExclusionRulesAmisLastLaunched m_lastLaunched;
125 bool m_lastLaunchedHasBeenSet = false;
126
128 bool m_tagMapHasBeenSet = false;
129 };
130
131} // namespace Model
132} // namespace imagebuilder
133} // namespace Aws
LifecyclePolicyDetailExclusionRulesAmis & AddRegions(RegionsT &&value)
LifecyclePolicyDetailExclusionRulesAmis & WithRegions(RegionsT &&value)
const LifecyclePolicyDetailExclusionRulesAmisLastLaunched & GetLastLaunched() const
AWS_IMAGEBUILDER_API LifecyclePolicyDetailExclusionRulesAmis & operator=(Aws::Utils::Json::JsonView jsonValue)
LifecyclePolicyDetailExclusionRulesAmis & WithSharedAccounts(SharedAccountsT &&value)
LifecyclePolicyDetailExclusionRulesAmis & AddTagMap(TagMapKeyT &&key, TagMapValueT &&value)
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
LifecyclePolicyDetailExclusionRulesAmis & WithLastLaunched(LastLaunchedT &&value)
LifecyclePolicyDetailExclusionRulesAmis & AddSharedAccounts(SharedAccountsT &&value)
AWS_IMAGEBUILDER_API LifecyclePolicyDetailExclusionRulesAmis(Aws::Utils::Json::JsonView jsonValue)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue