AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
SessionConfiguration.h
1
6#pragma once
7#include <aws/athena/Athena_EXPORTS.h>
8#include <aws/athena/model/EncryptionConfiguration.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace Athena {
21namespace Model {
22
29 public:
30 AWS_ATHENA_API SessionConfiguration() = default;
33 AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const;
34
36
41 inline const Aws::String& GetExecutionRole() const { return m_executionRole; }
42 inline bool ExecutionRoleHasBeenSet() const { return m_executionRoleHasBeenSet; }
43 template <typename ExecutionRoleT = Aws::String>
44 void SetExecutionRole(ExecutionRoleT&& value) {
45 m_executionRoleHasBeenSet = true;
46 m_executionRole = std::forward<ExecutionRoleT>(value);
47 }
48 template <typename ExecutionRoleT = Aws::String>
49 SessionConfiguration& WithExecutionRole(ExecutionRoleT&& value) {
50 SetExecutionRole(std::forward<ExecutionRoleT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
60 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
61 template <typename WorkingDirectoryT = Aws::String>
62 void SetWorkingDirectory(WorkingDirectoryT&& value) {
63 m_workingDirectoryHasBeenSet = true;
64 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
65 }
66 template <typename WorkingDirectoryT = Aws::String>
67 SessionConfiguration& WithWorkingDirectory(WorkingDirectoryT&& value) {
68 SetWorkingDirectory(std::forward<WorkingDirectoryT>(value));
69 return *this;
70 }
72
74
77 inline long long GetIdleTimeoutSeconds() const { return m_idleTimeoutSeconds; }
78 inline bool IdleTimeoutSecondsHasBeenSet() const { return m_idleTimeoutSecondsHasBeenSet; }
79 inline void SetIdleTimeoutSeconds(long long value) {
80 m_idleTimeoutSecondsHasBeenSet = true;
81 m_idleTimeoutSeconds = value;
82 }
85 return *this;
86 }
88
90
93 inline int GetSessionIdleTimeoutInMinutes() const { return m_sessionIdleTimeoutInMinutes; }
94 inline bool SessionIdleTimeoutInMinutesHasBeenSet() const { return m_sessionIdleTimeoutInMinutesHasBeenSet; }
95 inline void SetSessionIdleTimeoutInMinutes(int value) {
96 m_sessionIdleTimeoutInMinutesHasBeenSet = true;
97 m_sessionIdleTimeoutInMinutes = value;
98 }
101 return *this;
102 }
104
106
107 inline const EncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; }
108 inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; }
109 template <typename EncryptionConfigurationT = EncryptionConfiguration>
110 void SetEncryptionConfiguration(EncryptionConfigurationT&& value) {
111 m_encryptionConfigurationHasBeenSet = true;
112 m_encryptionConfiguration = std::forward<EncryptionConfigurationT>(value);
113 }
114 template <typename EncryptionConfigurationT = EncryptionConfiguration>
115 SessionConfiguration& WithEncryptionConfiguration(EncryptionConfigurationT&& value) {
116 SetEncryptionConfiguration(std::forward<EncryptionConfigurationT>(value));
117 return *this;
118 }
120 private:
121 Aws::String m_executionRole;
122
123 Aws::String m_workingDirectory;
124
125 long long m_idleTimeoutSeconds{0};
126
127 int m_sessionIdleTimeoutInMinutes{0};
128
129 EncryptionConfiguration m_encryptionConfiguration;
130 bool m_executionRoleHasBeenSet = false;
131 bool m_workingDirectoryHasBeenSet = false;
132 bool m_idleTimeoutSecondsHasBeenSet = false;
133 bool m_sessionIdleTimeoutInMinutesHasBeenSet = false;
134 bool m_encryptionConfigurationHasBeenSet = false;
135};
136
137} // namespace Model
138} // namespace Athena
139} // namespace Aws
void SetEncryptionConfiguration(EncryptionConfigurationT &&value)
SessionConfiguration & WithEncryptionConfiguration(EncryptionConfigurationT &&value)
AWS_ATHENA_API SessionConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
SessionConfiguration & WithSessionIdleTimeoutInMinutes(int value)
AWS_ATHENA_API SessionConfiguration(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetWorkingDirectory() const
SessionConfiguration & WithWorkingDirectory(WorkingDirectoryT &&value)
void SetExecutionRole(ExecutionRoleT &&value)
const EncryptionConfiguration & GetEncryptionConfiguration() const
void SetWorkingDirectory(WorkingDirectoryT &&value)
AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_ATHENA_API SessionConfiguration()=default
SessionConfiguration & WithIdleTimeoutSeconds(long long value)
SessionConfiguration & WithExecutionRole(ExecutionRoleT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue