AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
InstanceProfile.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/dms/DatabaseMigrationService_EXPORTS.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace DatabaseMigrationService {
22namespace Model {
23
31 public:
32 AWS_DATABASEMIGRATIONSERVICE_API InstanceProfile() = default;
33 AWS_DATABASEMIGRATIONSERVICE_API InstanceProfile(Aws::Utils::Json::JsonView jsonValue);
34 AWS_DATABASEMIGRATIONSERVICE_API InstanceProfile& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_DATABASEMIGRATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
42 inline const Aws::String& GetInstanceProfileArn() const { return m_instanceProfileArn; }
43 inline bool InstanceProfileArnHasBeenSet() const { return m_instanceProfileArnHasBeenSet; }
44 template <typename InstanceProfileArnT = Aws::String>
45 void SetInstanceProfileArn(InstanceProfileArnT&& value) {
46 m_instanceProfileArnHasBeenSet = true;
47 m_instanceProfileArn = std::forward<InstanceProfileArnT>(value);
48 }
49 template <typename InstanceProfileArnT = Aws::String>
50 InstanceProfile& WithInstanceProfileArn(InstanceProfileArnT&& value) {
51 SetInstanceProfileArn(std::forward<InstanceProfileArnT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
61 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
62 template <typename AvailabilityZoneT = Aws::String>
63 void SetAvailabilityZone(AvailabilityZoneT&& value) {
64 m_availabilityZoneHasBeenSet = true;
65 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
66 }
67 template <typename AvailabilityZoneT = Aws::String>
68 InstanceProfile& WithAvailabilityZone(AvailabilityZoneT&& value) {
69 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
70 return *this;
71 }
73
75
81 inline const Aws::String& GetKmsKeyArn() const { return m_kmsKeyArn; }
82 inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; }
83 template <typename KmsKeyArnT = Aws::String>
84 void SetKmsKeyArn(KmsKeyArnT&& value) {
85 m_kmsKeyArnHasBeenSet = true;
86 m_kmsKeyArn = std::forward<KmsKeyArnT>(value);
87 }
88 template <typename KmsKeyArnT = Aws::String>
89 InstanceProfile& WithKmsKeyArn(KmsKeyArnT&& value) {
90 SetKmsKeyArn(std::forward<KmsKeyArnT>(value));
91 return *this;
92 }
94
96
102 inline bool GetPubliclyAccessible() const { return m_publiclyAccessible; }
103 inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
104 inline void SetPubliclyAccessible(bool value) {
105 m_publiclyAccessibleHasBeenSet = true;
106 m_publiclyAccessible = value;
107 }
110 return *this;
111 }
113
115
123 inline const Aws::String& GetNetworkType() const { return m_networkType; }
124 inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; }
125 template <typename NetworkTypeT = Aws::String>
126 void SetNetworkType(NetworkTypeT&& value) {
127 m_networkTypeHasBeenSet = true;
128 m_networkType = std::forward<NetworkTypeT>(value);
129 }
130 template <typename NetworkTypeT = Aws::String>
131 InstanceProfile& WithNetworkType(NetworkTypeT&& value) {
132 SetNetworkType(std::forward<NetworkTypeT>(value));
133 return *this;
134 }
136
138
141 inline const Aws::String& GetInstanceProfileName() const { return m_instanceProfileName; }
142 inline bool InstanceProfileNameHasBeenSet() const { return m_instanceProfileNameHasBeenSet; }
143 template <typename InstanceProfileNameT = Aws::String>
144 void SetInstanceProfileName(InstanceProfileNameT&& value) {
145 m_instanceProfileNameHasBeenSet = true;
146 m_instanceProfileName = std::forward<InstanceProfileNameT>(value);
147 }
148 template <typename InstanceProfileNameT = Aws::String>
149 InstanceProfile& WithInstanceProfileName(InstanceProfileNameT&& value) {
150 SetInstanceProfileName(std::forward<InstanceProfileNameT>(value));
151 return *this;
152 }
154
156
162 inline const Aws::String& GetDescription() const { return m_description; }
163 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
164 template <typename DescriptionT = Aws::String>
165 void SetDescription(DescriptionT&& value) {
166 m_descriptionHasBeenSet = true;
167 m_description = std::forward<DescriptionT>(value);
168 }
169 template <typename DescriptionT = Aws::String>
170 InstanceProfile& WithDescription(DescriptionT&& value) {
171 SetDescription(std::forward<DescriptionT>(value));
172 return *this;
173 }
175
177
180 inline const Aws::Utils::DateTime& GetInstanceProfileCreationTime() const { return m_instanceProfileCreationTime; }
181 inline bool InstanceProfileCreationTimeHasBeenSet() const { return m_instanceProfileCreationTimeHasBeenSet; }
182 template <typename InstanceProfileCreationTimeT = Aws::Utils::DateTime>
183 void SetInstanceProfileCreationTime(InstanceProfileCreationTimeT&& value) {
184 m_instanceProfileCreationTimeHasBeenSet = true;
185 m_instanceProfileCreationTime = std::forward<InstanceProfileCreationTimeT>(value);
186 }
187 template <typename InstanceProfileCreationTimeT = Aws::Utils::DateTime>
188 InstanceProfile& WithInstanceProfileCreationTime(InstanceProfileCreationTimeT&& value) {
189 SetInstanceProfileCreationTime(std::forward<InstanceProfileCreationTimeT>(value));
190 return *this;
191 }
193
195
199 inline const Aws::String& GetSubnetGroupIdentifier() const { return m_subnetGroupIdentifier; }
200 inline bool SubnetGroupIdentifierHasBeenSet() const { return m_subnetGroupIdentifierHasBeenSet; }
201 template <typename SubnetGroupIdentifierT = Aws::String>
202 void SetSubnetGroupIdentifier(SubnetGroupIdentifierT&& value) {
203 m_subnetGroupIdentifierHasBeenSet = true;
204 m_subnetGroupIdentifier = std::forward<SubnetGroupIdentifierT>(value);
205 }
206 template <typename SubnetGroupIdentifierT = Aws::String>
207 InstanceProfile& WithSubnetGroupIdentifier(SubnetGroupIdentifierT&& value) {
208 SetSubnetGroupIdentifier(std::forward<SubnetGroupIdentifierT>(value));
209 return *this;
210 }
212
214
218 inline const Aws::Vector<Aws::String>& GetVpcSecurityGroups() const { return m_vpcSecurityGroups; }
219 inline bool VpcSecurityGroupsHasBeenSet() const { return m_vpcSecurityGroupsHasBeenSet; }
220 template <typename VpcSecurityGroupsT = Aws::Vector<Aws::String>>
221 void SetVpcSecurityGroups(VpcSecurityGroupsT&& value) {
222 m_vpcSecurityGroupsHasBeenSet = true;
223 m_vpcSecurityGroups = std::forward<VpcSecurityGroupsT>(value);
224 }
225 template <typename VpcSecurityGroupsT = Aws::Vector<Aws::String>>
226 InstanceProfile& WithVpcSecurityGroups(VpcSecurityGroupsT&& value) {
227 SetVpcSecurityGroups(std::forward<VpcSecurityGroupsT>(value));
228 return *this;
229 }
230 template <typename VpcSecurityGroupsT = Aws::String>
231 InstanceProfile& AddVpcSecurityGroups(VpcSecurityGroupsT&& value) {
232 m_vpcSecurityGroupsHasBeenSet = true;
233 m_vpcSecurityGroups.emplace_back(std::forward<VpcSecurityGroupsT>(value));
234 return *this;
235 }
237 private:
238 Aws::String m_instanceProfileArn;
239
240 Aws::String m_availabilityZone;
241
242 Aws::String m_kmsKeyArn;
243
244 bool m_publiclyAccessible{false};
245
246 Aws::String m_networkType;
247
248 Aws::String m_instanceProfileName;
249
250 Aws::String m_description;
251
252 Aws::Utils::DateTime m_instanceProfileCreationTime{};
253
254 Aws::String m_subnetGroupIdentifier;
255
256 Aws::Vector<Aws::String> m_vpcSecurityGroups;
257 bool m_instanceProfileArnHasBeenSet = false;
258 bool m_availabilityZoneHasBeenSet = false;
259 bool m_kmsKeyArnHasBeenSet = false;
260 bool m_publiclyAccessibleHasBeenSet = false;
261 bool m_networkTypeHasBeenSet = false;
262 bool m_instanceProfileNameHasBeenSet = false;
263 bool m_descriptionHasBeenSet = false;
264 bool m_instanceProfileCreationTimeHasBeenSet = false;
265 bool m_subnetGroupIdentifierHasBeenSet = false;
266 bool m_vpcSecurityGroupsHasBeenSet = false;
267};
268
269} // namespace Model
270} // namespace DatabaseMigrationService
271} // namespace Aws
InstanceProfile & WithNetworkType(NetworkTypeT &&value)
InstanceProfile & WithVpcSecurityGroups(VpcSecurityGroupsT &&value)
void SetInstanceProfileCreationTime(InstanceProfileCreationTimeT &&value)
InstanceProfile & WithInstanceProfileName(InstanceProfileNameT &&value)
InstanceProfile & WithKmsKeyArn(KmsKeyArnT &&value)
void SetVpcSecurityGroups(VpcSecurityGroupsT &&value)
void SetSubnetGroupIdentifier(SubnetGroupIdentifierT &&value)
AWS_DATABASEMIGRATIONSERVICE_API InstanceProfile(Aws::Utils::Json::JsonView jsonValue)
InstanceProfile & AddVpcSecurityGroups(VpcSecurityGroupsT &&value)
InstanceProfile & WithInstanceProfileArn(InstanceProfileArnT &&value)
void SetInstanceProfileName(InstanceProfileNameT &&value)
AWS_DATABASEMIGRATIONSERVICE_API InstanceProfile()=default
InstanceProfile & WithDescription(DescriptionT &&value)
AWS_DATABASEMIGRATIONSERVICE_API InstanceProfile & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_DATABASEMIGRATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Utils::DateTime & GetInstanceProfileCreationTime() const
const Aws::Vector< Aws::String > & GetVpcSecurityGroups() const
InstanceProfile & WithInstanceProfileCreationTime(InstanceProfileCreationTimeT &&value)
InstanceProfile & WithSubnetGroupIdentifier(SubnetGroupIdentifierT &&value)
void SetInstanceProfileArn(InstanceProfileArnT &&value)
InstanceProfile & WithAvailabilityZone(AvailabilityZoneT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue