AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
AmiDistributionConfiguration.h
1
6#pragma once
7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/imagebuilder/model/LaunchPermissionConfiguration.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 AmiDistributionConfiguration() = default;
41 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::String& GetName() const { return m_name; }
49 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
50 template<typename NameT = Aws::String>
51 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
52 template<typename NameT = Aws::String>
53 AmiDistributionConfiguration& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
55
57
61 inline const Aws::String& GetDescription() const { return m_description; }
62 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
63 template<typename DescriptionT = Aws::String>
64 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
65 template<typename DescriptionT = Aws::String>
66 AmiDistributionConfiguration& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
68
70
73 inline const Aws::Vector<Aws::String>& GetTargetAccountIds() const { return m_targetAccountIds; }
74 inline bool TargetAccountIdsHasBeenSet() const { return m_targetAccountIdsHasBeenSet; }
75 template<typename TargetAccountIdsT = Aws::Vector<Aws::String>>
76 void SetTargetAccountIds(TargetAccountIdsT&& value) { m_targetAccountIdsHasBeenSet = true; m_targetAccountIds = std::forward<TargetAccountIdsT>(value); }
77 template<typename TargetAccountIdsT = Aws::Vector<Aws::String>>
78 AmiDistributionConfiguration& WithTargetAccountIds(TargetAccountIdsT&& value) { SetTargetAccountIds(std::forward<TargetAccountIdsT>(value)); return *this;}
79 template<typename TargetAccountIdsT = Aws::String>
80 AmiDistributionConfiguration& AddTargetAccountIds(TargetAccountIdsT&& value) { m_targetAccountIdsHasBeenSet = true; m_targetAccountIds.emplace_back(std::forward<TargetAccountIdsT>(value)); return *this; }
82
84
87 inline const Aws::Map<Aws::String, Aws::String>& GetAmiTags() const { return m_amiTags; }
88 inline bool AmiTagsHasBeenSet() const { return m_amiTagsHasBeenSet; }
89 template<typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
90 void SetAmiTags(AmiTagsT&& value) { m_amiTagsHasBeenSet = true; m_amiTags = std::forward<AmiTagsT>(value); }
91 template<typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
92 AmiDistributionConfiguration& WithAmiTags(AmiTagsT&& value) { SetAmiTags(std::forward<AmiTagsT>(value)); return *this;}
93 template<typename AmiTagsKeyT = Aws::String, typename AmiTagsValueT = Aws::String>
94 AmiDistributionConfiguration& AddAmiTags(AmiTagsKeyT&& key, AmiTagsValueT&& value) {
95 m_amiTagsHasBeenSet = true; m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value)); return *this;
96 }
98
100
103 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
104 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
105 template<typename KmsKeyIdT = Aws::String>
106 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
107 template<typename KmsKeyIdT = Aws::String>
108 AmiDistributionConfiguration& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward<KmsKeyIdT>(value)); return *this;}
110
112
116 inline const LaunchPermissionConfiguration& GetLaunchPermission() const { return m_launchPermission; }
117 inline bool LaunchPermissionHasBeenSet() const { return m_launchPermissionHasBeenSet; }
118 template<typename LaunchPermissionT = LaunchPermissionConfiguration>
119 void SetLaunchPermission(LaunchPermissionT&& value) { m_launchPermissionHasBeenSet = true; m_launchPermission = std::forward<LaunchPermissionT>(value); }
120 template<typename LaunchPermissionT = LaunchPermissionConfiguration>
121 AmiDistributionConfiguration& WithLaunchPermission(LaunchPermissionT&& value) { SetLaunchPermission(std::forward<LaunchPermissionT>(value)); return *this;}
123 private:
124
125 Aws::String m_name;
126 bool m_nameHasBeenSet = false;
127
128 Aws::String m_description;
129 bool m_descriptionHasBeenSet = false;
130
131 Aws::Vector<Aws::String> m_targetAccountIds;
132 bool m_targetAccountIdsHasBeenSet = false;
133
135 bool m_amiTagsHasBeenSet = false;
136
137 Aws::String m_kmsKeyId;
138 bool m_kmsKeyIdHasBeenSet = false;
139
140 LaunchPermissionConfiguration m_launchPermission;
141 bool m_launchPermissionHasBeenSet = false;
142 };
143
144} // namespace Model
145} // namespace imagebuilder
146} // namespace Aws
AmiDistributionConfiguration & WithKmsKeyId(KmsKeyIdT &&value)
const Aws::Vector< Aws::String > & GetTargetAccountIds() const
AmiDistributionConfiguration & WithName(NameT &&value)
AWS_IMAGEBUILDER_API AmiDistributionConfiguration(Aws::Utils::Json::JsonView jsonValue)
const Aws::Map< Aws::String, Aws::String > & GetAmiTags() const
AmiDistributionConfiguration & WithDescription(DescriptionT &&value)
AmiDistributionConfiguration & AddAmiTags(AmiTagsKeyT &&key, AmiTagsValueT &&value)
const LaunchPermissionConfiguration & GetLaunchPermission() const
AWS_IMAGEBUILDER_API AmiDistributionConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AmiDistributionConfiguration & WithAmiTags(AmiTagsT &&value)
AmiDistributionConfiguration & WithTargetAccountIds(TargetAccountIdsT &&value)
AmiDistributionConfiguration & WithLaunchPermission(LaunchPermissionT &&value)
AmiDistributionConfiguration & AddTargetAccountIds(TargetAccountIdsT &&value)
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_IMAGEBUILDER_API AmiDistributionConfiguration()=default
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue