AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
InstanceProfile.h
1
6#pragma once
7#include <aws/iam/IAM_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/iam/model/Role.h>
13#include <aws/iam/model/Tag.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Xml
21{
22 class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace IAM
26{
27namespace Model
28{
29
45 {
46 public:
47 AWS_IAM_API InstanceProfile() = default;
48 AWS_IAM_API InstanceProfile(const Aws::Utils::Xml::XmlNode& xmlNode);
50
51 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
52 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
53
54
56
61 inline const Aws::String& GetPath() const { return m_path; }
62 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
63 template<typename PathT = Aws::String>
64 void SetPath(PathT&& value) { m_pathHasBeenSet = true; m_path = std::forward<PathT>(value); }
65 template<typename PathT = Aws::String>
66 InstanceProfile& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
68
70
73 inline const Aws::String& GetInstanceProfileName() const { return m_instanceProfileName; }
74 inline bool InstanceProfileNameHasBeenSet() const { return m_instanceProfileNameHasBeenSet; }
75 template<typename InstanceProfileNameT = Aws::String>
76 void SetInstanceProfileName(InstanceProfileNameT&& value) { m_instanceProfileNameHasBeenSet = true; m_instanceProfileName = std::forward<InstanceProfileNameT>(value); }
77 template<typename InstanceProfileNameT = Aws::String>
78 InstanceProfile& WithInstanceProfileName(InstanceProfileNameT&& value) { SetInstanceProfileName(std::forward<InstanceProfileNameT>(value)); return *this;}
80
82
88 inline const Aws::String& GetInstanceProfileId() const { return m_instanceProfileId; }
89 inline bool InstanceProfileIdHasBeenSet() const { return m_instanceProfileIdHasBeenSet; }
90 template<typename InstanceProfileIdT = Aws::String>
91 void SetInstanceProfileId(InstanceProfileIdT&& value) { m_instanceProfileIdHasBeenSet = true; m_instanceProfileId = std::forward<InstanceProfileIdT>(value); }
92 template<typename InstanceProfileIdT = Aws::String>
93 InstanceProfile& WithInstanceProfileId(InstanceProfileIdT&& value) { SetInstanceProfileId(std::forward<InstanceProfileIdT>(value)); return *this;}
95
97
103 inline const Aws::String& GetArn() const { return m_arn; }
104 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
105 template<typename ArnT = Aws::String>
106 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
107 template<typename ArnT = Aws::String>
108 InstanceProfile& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
110
112
115 inline const Aws::Utils::DateTime& GetCreateDate() const { return m_createDate; }
116 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
117 template<typename CreateDateT = Aws::Utils::DateTime>
118 void SetCreateDate(CreateDateT&& value) { m_createDateHasBeenSet = true; m_createDate = std::forward<CreateDateT>(value); }
119 template<typename CreateDateT = Aws::Utils::DateTime>
120 InstanceProfile& WithCreateDate(CreateDateT&& value) { SetCreateDate(std::forward<CreateDateT>(value)); return *this;}
122
124
127 inline const Aws::Vector<Role>& GetRoles() const { return m_roles; }
128 inline bool RolesHasBeenSet() const { return m_rolesHasBeenSet; }
129 template<typename RolesT = Aws::Vector<Role>>
130 void SetRoles(RolesT&& value) { m_rolesHasBeenSet = true; m_roles = std::forward<RolesT>(value); }
131 template<typename RolesT = Aws::Vector<Role>>
132 InstanceProfile& WithRoles(RolesT&& value) { SetRoles(std::forward<RolesT>(value)); return *this;}
133 template<typename RolesT = Role>
134 InstanceProfile& AddRoles(RolesT&& value) { m_rolesHasBeenSet = true; m_roles.emplace_back(std::forward<RolesT>(value)); return *this; }
136
138
144 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
145 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
146 template<typename TagsT = Aws::Vector<Tag>>
147 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
148 template<typename TagsT = Aws::Vector<Tag>>
149 InstanceProfile& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
150 template<typename TagsT = Tag>
151 InstanceProfile& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
153 private:
154
155 Aws::String m_path;
156 bool m_pathHasBeenSet = false;
157
158 Aws::String m_instanceProfileName;
159 bool m_instanceProfileNameHasBeenSet = false;
160
161 Aws::String m_instanceProfileId;
162 bool m_instanceProfileIdHasBeenSet = false;
163
164 Aws::String m_arn;
165 bool m_arnHasBeenSet = false;
166
167 Aws::Utils::DateTime m_createDate{};
168 bool m_createDateHasBeenSet = false;
169
170 Aws::Vector<Role> m_roles;
171 bool m_rolesHasBeenSet = false;
172
173 Aws::Vector<Tag> m_tags;
174 bool m_tagsHasBeenSet = false;
175 };
176
177} // namespace Model
178} // namespace IAM
179} // namespace Aws
AWS_IAM_API InstanceProfile()=default
const Aws::Vector< Role > & GetRoles() const
AWS_IAM_API InstanceProfile & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceProfile & WithPath(PathT &&value)
const Aws::String & GetPath() const
const Aws::String & GetInstanceProfileName() const
InstanceProfile & AddTags(TagsT &&value)
InstanceProfile & WithInstanceProfileId(InstanceProfileIdT &&value)
AWS_IAM_API InstanceProfile(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceProfile & WithRoles(RolesT &&value)
const Aws::String & GetInstanceProfileId() const
InstanceProfile & WithArn(ArnT &&value)
InstanceProfile & AddRoles(RolesT &&value)
const Aws::String & GetArn() const
InstanceProfile & WithCreateDate(CreateDateT &&value)
void SetCreateDate(CreateDateT &&value)
const Aws::Vector< Tag > & GetTags() const
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetInstanceProfileName(InstanceProfileNameT &&value)
void SetInstanceProfileId(InstanceProfileIdT &&value)
InstanceProfile & WithTags(TagsT &&value)
const Aws::Utils::DateTime & GetCreateDate() const
InstanceProfile & WithInstanceProfileName(InstanceProfileNameT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream