AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
SessionCredentials.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/s3-crt/S3Crt_EXPORTS.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Xml {
16class XmlNode;
17} // namespace Xml
18} // namespace Utils
19namespace S3Crt {
20namespace Model {
21
31 public:
32 AWS_S3CRT_API SessionCredentials() = default;
33 AWS_S3CRT_API SessionCredentials(const Aws::Utils::Xml::XmlNode& xmlNode);
35
36 AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
37
39
44 inline const Aws::String& GetAccessKeyId() const { return m_accessKeyId; }
45 inline bool AccessKeyIdHasBeenSet() const { return m_accessKeyIdHasBeenSet; }
46 template <typename AccessKeyIdT = Aws::String>
47 void SetAccessKeyId(AccessKeyIdT&& value) {
48 m_accessKeyIdHasBeenSet = true;
49 m_accessKeyId = std::forward<AccessKeyIdT>(value);
50 }
51 template <typename AccessKeyIdT = Aws::String>
52 SessionCredentials& WithAccessKeyId(AccessKeyIdT&& value) {
53 SetAccessKeyId(std::forward<AccessKeyIdT>(value));
54 return *this;
55 }
57
59
64 inline const Aws::String& GetSecretAccessKey() const { return m_secretAccessKey; }
65 inline bool SecretAccessKeyHasBeenSet() const { return m_secretAccessKeyHasBeenSet; }
66 template <typename SecretAccessKeyT = Aws::String>
67 void SetSecretAccessKey(SecretAccessKeyT&& value) {
68 m_secretAccessKeyHasBeenSet = true;
69 m_secretAccessKey = std::forward<SecretAccessKeyT>(value);
70 }
71 template <typename SecretAccessKeyT = Aws::String>
72 SessionCredentials& WithSecretAccessKey(SecretAccessKeyT&& value) {
73 SetSecretAccessKey(std::forward<SecretAccessKeyT>(value));
74 return *this;
75 }
77
79
83 inline const Aws::String& GetSessionToken() const { return m_sessionToken; }
84 inline bool SessionTokenHasBeenSet() const { return m_sessionTokenHasBeenSet; }
85 template <typename SessionTokenT = Aws::String>
86 void SetSessionToken(SessionTokenT&& value) {
87 m_sessionTokenHasBeenSet = true;
88 m_sessionToken = std::forward<SessionTokenT>(value);
89 }
90 template <typename SessionTokenT = Aws::String>
91 SessionCredentials& WithSessionToken(SessionTokenT&& value) {
92 SetSessionToken(std::forward<SessionTokenT>(value));
93 return *this;
94 }
96
98
105 inline const Aws::Utils::DateTime& GetExpiration() const { return m_expiration; }
106 inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; }
107 template <typename ExpirationT = Aws::Utils::DateTime>
108 void SetExpiration(ExpirationT&& value) {
109 m_expirationHasBeenSet = true;
110 m_expiration = std::forward<ExpirationT>(value);
111 }
112 template <typename ExpirationT = Aws::Utils::DateTime>
113 SessionCredentials& WithExpiration(ExpirationT&& value) {
114 SetExpiration(std::forward<ExpirationT>(value));
115 return *this;
116 }
118 private:
119 Aws::String m_accessKeyId;
120
121 Aws::String m_secretAccessKey;
122
123 Aws::String m_sessionToken;
124
125 Aws::Utils::DateTime m_expiration{};
126 bool m_accessKeyIdHasBeenSet = false;
127 bool m_secretAccessKeyHasBeenSet = false;
128 bool m_sessionTokenHasBeenSet = false;
129 bool m_expirationHasBeenSet = false;
130};
131
132} // namespace Model
133} // namespace S3Crt
134} // namespace Aws
void SetAccessKeyId(AccessKeyIdT &&value)
SessionCredentials & WithExpiration(ExpirationT &&value)
const Aws::Utils::DateTime & GetExpiration() const
AWS_S3CRT_API SessionCredentials(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetSecretAccessKey() const
AWS_S3CRT_API SessionCredentials & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3CRT_API SessionCredentials()=default
const Aws::String & GetAccessKeyId() const
SessionCredentials & WithAccessKeyId(AccessKeyIdT &&value)
SessionCredentials & WithSecretAccessKey(SecretAccessKeyT &&value)
SessionCredentials & WithSessionToken(SessionTokenT &&value)
const Aws::String & GetSessionToken() const
void SetSessionToken(SessionTokenT &&value)
AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
void SetSecretAccessKey(SecretAccessKeyT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String