AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
FileCacheLustreConfiguration.h
1
6#pragma once
7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/fsx/model/FileCacheLustreDeploymentType.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/fsx/model/FileCacheLustreMetadataConfiguration.h>
11#include <aws/fsx/model/LustreLogConfiguration.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace FSx
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_FSX_API FileCacheLustreConfiguration() = default;
42
43
45
51 inline int GetPerUnitStorageThroughput() const { return m_perUnitStorageThroughput; }
52 inline bool PerUnitStorageThroughputHasBeenSet() const { return m_perUnitStorageThroughputHasBeenSet; }
53 inline void SetPerUnitStorageThroughput(int value) { m_perUnitStorageThroughputHasBeenSet = true; m_perUnitStorageThroughput = value; }
56
58
62 inline FileCacheLustreDeploymentType GetDeploymentType() const { return m_deploymentType; }
63 inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; }
64 inline void SetDeploymentType(FileCacheLustreDeploymentType value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; }
67
69
74 inline const Aws::String& GetMountName() const { return m_mountName; }
75 inline bool MountNameHasBeenSet() const { return m_mountNameHasBeenSet; }
76 template<typename MountNameT = Aws::String>
77 void SetMountName(MountNameT&& value) { m_mountNameHasBeenSet = true; m_mountName = std::forward<MountNameT>(value); }
78 template<typename MountNameT = Aws::String>
79 FileCacheLustreConfiguration& WithMountName(MountNameT&& value) { SetMountName(std::forward<MountNameT>(value)); return *this;}
81
83
84 inline const Aws::String& GetWeeklyMaintenanceStartTime() const { return m_weeklyMaintenanceStartTime; }
85 inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
86 template<typename WeeklyMaintenanceStartTimeT = Aws::String>
87 void SetWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::forward<WeeklyMaintenanceStartTimeT>(value); }
88 template<typename WeeklyMaintenanceStartTimeT = Aws::String>
89 FileCacheLustreConfiguration& WithWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT&& value) { SetWeeklyMaintenanceStartTime(std::forward<WeeklyMaintenanceStartTimeT>(value)); return *this;}
91
93
96 inline const FileCacheLustreMetadataConfiguration& GetMetadataConfiguration() const { return m_metadataConfiguration; }
97 inline bool MetadataConfigurationHasBeenSet() const { return m_metadataConfigurationHasBeenSet; }
98 template<typename MetadataConfigurationT = FileCacheLustreMetadataConfiguration>
99 void SetMetadataConfiguration(MetadataConfigurationT&& value) { m_metadataConfigurationHasBeenSet = true; m_metadataConfiguration = std::forward<MetadataConfigurationT>(value); }
100 template<typename MetadataConfigurationT = FileCacheLustreMetadataConfiguration>
101 FileCacheLustreConfiguration& WithMetadataConfiguration(MetadataConfigurationT&& value) { SetMetadataConfiguration(std::forward<MetadataConfigurationT>(value)); return *this;}
103
105
109 inline const LustreLogConfiguration& GetLogConfiguration() const { return m_logConfiguration; }
110 inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; }
111 template<typename LogConfigurationT = LustreLogConfiguration>
112 void SetLogConfiguration(LogConfigurationT&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::forward<LogConfigurationT>(value); }
113 template<typename LogConfigurationT = LustreLogConfiguration>
114 FileCacheLustreConfiguration& WithLogConfiguration(LogConfigurationT&& value) { SetLogConfiguration(std::forward<LogConfigurationT>(value)); return *this;}
116 private:
117
118 int m_perUnitStorageThroughput{0};
119 bool m_perUnitStorageThroughputHasBeenSet = false;
120
122 bool m_deploymentTypeHasBeenSet = false;
123
124 Aws::String m_mountName;
125 bool m_mountNameHasBeenSet = false;
126
127 Aws::String m_weeklyMaintenanceStartTime;
128 bool m_weeklyMaintenanceStartTimeHasBeenSet = false;
129
130 FileCacheLustreMetadataConfiguration m_metadataConfiguration;
131 bool m_metadataConfigurationHasBeenSet = false;
132
133 LustreLogConfiguration m_logConfiguration;
134 bool m_logConfigurationHasBeenSet = false;
135 };
136
137} // namespace Model
138} // namespace FSx
139} // namespace Aws
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
FileCacheLustreDeploymentType GetDeploymentType() const
void SetMetadataConfiguration(MetadataConfigurationT &&value)
AWS_FSX_API FileCacheLustreConfiguration()=default
FileCacheLustreConfiguration & WithWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT &&value)
FileCacheLustreConfiguration & WithDeploymentType(FileCacheLustreDeploymentType value)
AWS_FSX_API FileCacheLustreConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
const FileCacheLustreMetadataConfiguration & GetMetadataConfiguration() const
void SetDeploymentType(FileCacheLustreDeploymentType value)
FileCacheLustreConfiguration & WithLogConfiguration(LogConfigurationT &&value)
void SetWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT &&value)
const LustreLogConfiguration & GetLogConfiguration() const
FileCacheLustreConfiguration & WithMetadataConfiguration(MetadataConfigurationT &&value)
FileCacheLustreConfiguration & WithMountName(MountNameT &&value)
AWS_FSX_API FileCacheLustreConfiguration(Aws::Utils::Json::JsonView jsonValue)
FileCacheLustreConfiguration & WithPerUnitStorageThroughput(int value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue