1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/sts/STS_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Xml
17 {
18   class XmlNode;
19 } // namespace Xml
20 } // namespace Utils
21 namespace STS
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Identifiers for the federated user that is associated with the
28    * credentials.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser">AWS
30    * API Reference</a></p>
31    */
32   class AWS_STS_API FederatedUser
33   {
34   public:
35     FederatedUser();
36     FederatedUser(const Aws::Utils::Xml::XmlNode& xmlNode);
37     FederatedUser& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
38 
39     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40     void OutputToStream(Aws::OStream& oStream, const char* location) const;
41 
42 
43     /**
44      * <p>The string that identifies the federated user associated with the
45      * credentials, similar to the unique ID of an IAM user.</p>
46      */
GetFederatedUserId()47     inline const Aws::String& GetFederatedUserId() const{ return m_federatedUserId; }
48 
49     /**
50      * <p>The string that identifies the federated user associated with the
51      * credentials, similar to the unique ID of an IAM user.</p>
52      */
FederatedUserIdHasBeenSet()53     inline bool FederatedUserIdHasBeenSet() const { return m_federatedUserIdHasBeenSet; }
54 
55     /**
56      * <p>The string that identifies the federated user associated with the
57      * credentials, similar to the unique ID of an IAM user.</p>
58      */
SetFederatedUserId(const Aws::String & value)59     inline void SetFederatedUserId(const Aws::String& value) { m_federatedUserIdHasBeenSet = true; m_federatedUserId = value; }
60 
61     /**
62      * <p>The string that identifies the federated user associated with the
63      * credentials, similar to the unique ID of an IAM user.</p>
64      */
SetFederatedUserId(Aws::String && value)65     inline void SetFederatedUserId(Aws::String&& value) { m_federatedUserIdHasBeenSet = true; m_federatedUserId = std::move(value); }
66 
67     /**
68      * <p>The string that identifies the federated user associated with the
69      * credentials, similar to the unique ID of an IAM user.</p>
70      */
SetFederatedUserId(const char * value)71     inline void SetFederatedUserId(const char* value) { m_federatedUserIdHasBeenSet = true; m_federatedUserId.assign(value); }
72 
73     /**
74      * <p>The string that identifies the federated user associated with the
75      * credentials, similar to the unique ID of an IAM user.</p>
76      */
WithFederatedUserId(const Aws::String & value)77     inline FederatedUser& WithFederatedUserId(const Aws::String& value) { SetFederatedUserId(value); return *this;}
78 
79     /**
80      * <p>The string that identifies the federated user associated with the
81      * credentials, similar to the unique ID of an IAM user.</p>
82      */
WithFederatedUserId(Aws::String && value)83     inline FederatedUser& WithFederatedUserId(Aws::String&& value) { SetFederatedUserId(std::move(value)); return *this;}
84 
85     /**
86      * <p>The string that identifies the federated user associated with the
87      * credentials, similar to the unique ID of an IAM user.</p>
88      */
WithFederatedUserId(const char * value)89     inline FederatedUser& WithFederatedUserId(const char* value) { SetFederatedUserId(value); return *this;}
90 
91 
92     /**
93      * <p>The ARN that specifies the federated user that is associated with the
94      * credentials. For more information about ARNs and how to use them in policies,
95      * see <a
96      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM
97      * Identifiers</a> in the <i>IAM User Guide</i>. </p>
98      */
GetArn()99     inline const Aws::String& GetArn() const{ return m_arn; }
100 
101     /**
102      * <p>The ARN that specifies the federated user that is associated with the
103      * credentials. For more information about ARNs and how to use them in policies,
104      * see <a
105      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM
106      * Identifiers</a> in the <i>IAM User Guide</i>. </p>
107      */
ArnHasBeenSet()108     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
109 
110     /**
111      * <p>The ARN that specifies the federated user that is associated with the
112      * credentials. For more information about ARNs and how to use them in policies,
113      * see <a
114      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM
115      * Identifiers</a> in the <i>IAM User Guide</i>. </p>
116      */
SetArn(const Aws::String & value)117     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
118 
119     /**
120      * <p>The ARN that specifies the federated user that is associated with the
121      * credentials. For more information about ARNs and how to use them in policies,
122      * see <a
123      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM
124      * Identifiers</a> in the <i>IAM User Guide</i>. </p>
125      */
SetArn(Aws::String && value)126     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
127 
128     /**
129      * <p>The ARN that specifies the federated user that is associated with the
130      * credentials. For more information about ARNs and how to use them in policies,
131      * see <a
132      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM
133      * Identifiers</a> in the <i>IAM User Guide</i>. </p>
134      */
SetArn(const char * value)135     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
136 
137     /**
138      * <p>The ARN that specifies the federated user that is associated with the
139      * credentials. For more information about ARNs and how to use them in policies,
140      * see <a
141      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM
142      * Identifiers</a> in the <i>IAM User Guide</i>. </p>
143      */
WithArn(const Aws::String & value)144     inline FederatedUser& WithArn(const Aws::String& value) { SetArn(value); return *this;}
145 
146     /**
147      * <p>The ARN that specifies the federated user that is associated with the
148      * credentials. For more information about ARNs and how to use them in policies,
149      * see <a
150      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM
151      * Identifiers</a> in the <i>IAM User Guide</i>. </p>
152      */
WithArn(Aws::String && value)153     inline FederatedUser& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
154 
155     /**
156      * <p>The ARN that specifies the federated user that is associated with the
157      * credentials. For more information about ARNs and how to use them in policies,
158      * see <a
159      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM
160      * Identifiers</a> in the <i>IAM User Guide</i>. </p>
161      */
WithArn(const char * value)162     inline FederatedUser& WithArn(const char* value) { SetArn(value); return *this;}
163 
164   private:
165 
166     Aws::String m_federatedUserId;
167     bool m_federatedUserIdHasBeenSet;
168 
169     Aws::String m_arn;
170     bool m_arnHasBeenSet;
171   };
172 
173 } // namespace Model
174 } // namespace STS
175 } // namespace Aws
176