AWS SDK for C++

AWS SDK for C++ Version 1.11.695

Loading...
Searching...
No Matches
CreateKxClusterRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/finspace/FinspaceRequest.h>
12#include <aws/finspace/Finspace_EXPORTS.h>
13#include <aws/finspace/model/AutoScalingConfiguration.h>
14#include <aws/finspace/model/CapacityConfiguration.h>
15#include <aws/finspace/model/CodeConfiguration.h>
16#include <aws/finspace/model/KxAzMode.h>
17#include <aws/finspace/model/KxCacheStorageConfiguration.h>
18#include <aws/finspace/model/KxClusterType.h>
19#include <aws/finspace/model/KxCommandLineArgument.h>
20#include <aws/finspace/model/KxDatabaseConfiguration.h>
21#include <aws/finspace/model/KxSavedownStorageConfiguration.h>
22#include <aws/finspace/model/KxScalingGroupConfiguration.h>
23#include <aws/finspace/model/TickerplantLogConfiguration.h>
24#include <aws/finspace/model/VpcConfiguration.h>
25
26#include <utility>
27
28namespace Aws {
29namespace finspace {
30namespace Model {
31
35 public:
36 AWS_FINSPACE_API CreateKxClusterRequest() = default;
37
38 // Service request name is the Operation name which will send this request out,
39 // each operation should has unique request name, so that we can get operation's name from this request.
40 // Note: this is not true for response, multiple operations may have the same response name,
41 // so we can not get operation's name from response.
42 inline virtual const char* GetServiceRequestName() const override { return "CreateKxCluster"; }
43
44 AWS_FINSPACE_API Aws::String SerializePayload() const override;
45
47
50 inline const Aws::String& GetClientToken() const { return m_clientToken; }
51 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
52 template <typename ClientTokenT = Aws::String>
53 void SetClientToken(ClientTokenT&& value) {
54 m_clientTokenHasBeenSet = true;
55 m_clientToken = std::forward<ClientTokenT>(value);
56 }
57 template <typename ClientTokenT = Aws::String>
58 CreateKxClusterRequest& WithClientToken(ClientTokenT&& value) {
59 SetClientToken(std::forward<ClientTokenT>(value));
60 return *this;
61 }
63
65
68 inline const Aws::String& GetEnvironmentId() const { return m_environmentId; }
69 inline bool EnvironmentIdHasBeenSet() const { return m_environmentIdHasBeenSet; }
70 template <typename EnvironmentIdT = Aws::String>
71 void SetEnvironmentId(EnvironmentIdT&& value) {
72 m_environmentIdHasBeenSet = true;
73 m_environmentId = std::forward<EnvironmentIdT>(value);
74 }
75 template <typename EnvironmentIdT = Aws::String>
76 CreateKxClusterRequest& WithEnvironmentId(EnvironmentIdT&& value) {
77 SetEnvironmentId(std::forward<EnvironmentIdT>(value));
78 return *this;
79 }
81
83
86 inline const Aws::String& GetClusterName() const { return m_clusterName; }
87 inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; }
88 template <typename ClusterNameT = Aws::String>
89 void SetClusterName(ClusterNameT&& value) {
90 m_clusterNameHasBeenSet = true;
91 m_clusterName = std::forward<ClusterNameT>(value);
92 }
93 template <typename ClusterNameT = Aws::String>
94 CreateKxClusterRequest& WithClusterName(ClusterNameT&& value) {
95 SetClusterName(std::forward<ClusterNameT>(value));
96 return *this;
97 }
99
101
126 inline KxClusterType GetClusterType() const { return m_clusterType; }
127 inline bool ClusterTypeHasBeenSet() const { return m_clusterTypeHasBeenSet; }
128 inline void SetClusterType(KxClusterType value) {
129 m_clusterTypeHasBeenSet = true;
130 m_clusterType = value;
131 }
133 SetClusterType(value);
134 return *this;
135 }
137
139
145 inline const TickerplantLogConfiguration& GetTickerplantLogConfiguration() const { return m_tickerplantLogConfiguration; }
146 inline bool TickerplantLogConfigurationHasBeenSet() const { return m_tickerplantLogConfigurationHasBeenSet; }
147 template <typename TickerplantLogConfigurationT = TickerplantLogConfiguration>
148 void SetTickerplantLogConfiguration(TickerplantLogConfigurationT&& value) {
149 m_tickerplantLogConfigurationHasBeenSet = true;
150 m_tickerplantLogConfiguration = std::forward<TickerplantLogConfigurationT>(value);
151 }
152 template <typename TickerplantLogConfigurationT = TickerplantLogConfiguration>
153 CreateKxClusterRequest& WithTickerplantLogConfiguration(TickerplantLogConfigurationT&& value) {
154 SetTickerplantLogConfiguration(std::forward<TickerplantLogConfigurationT>(value));
155 return *this;
156 }
158
160
163 inline const Aws::Vector<KxDatabaseConfiguration>& GetDatabases() const { return m_databases; }
164 inline bool DatabasesHasBeenSet() const { return m_databasesHasBeenSet; }
165 template <typename DatabasesT = Aws::Vector<KxDatabaseConfiguration>>
166 void SetDatabases(DatabasesT&& value) {
167 m_databasesHasBeenSet = true;
168 m_databases = std::forward<DatabasesT>(value);
169 }
170 template <typename DatabasesT = Aws::Vector<KxDatabaseConfiguration>>
172 SetDatabases(std::forward<DatabasesT>(value));
173 return *this;
174 }
175 template <typename DatabasesT = KxDatabaseConfiguration>
177 m_databasesHasBeenSet = true;
178 m_databases.emplace_back(std::forward<DatabasesT>(value));
179 return *this;
180 }
182
184
188 inline const Aws::Vector<KxCacheStorageConfiguration>& GetCacheStorageConfigurations() const { return m_cacheStorageConfigurations; }
189 inline bool CacheStorageConfigurationsHasBeenSet() const { return m_cacheStorageConfigurationsHasBeenSet; }
190 template <typename CacheStorageConfigurationsT = Aws::Vector<KxCacheStorageConfiguration>>
191 void SetCacheStorageConfigurations(CacheStorageConfigurationsT&& value) {
192 m_cacheStorageConfigurationsHasBeenSet = true;
193 m_cacheStorageConfigurations = std::forward<CacheStorageConfigurationsT>(value);
194 }
195 template <typename CacheStorageConfigurationsT = Aws::Vector<KxCacheStorageConfiguration>>
196 CreateKxClusterRequest& WithCacheStorageConfigurations(CacheStorageConfigurationsT&& value) {
197 SetCacheStorageConfigurations(std::forward<CacheStorageConfigurationsT>(value));
198 return *this;
199 }
200 template <typename CacheStorageConfigurationsT = KxCacheStorageConfiguration>
201 CreateKxClusterRequest& AddCacheStorageConfigurations(CacheStorageConfigurationsT&& value) {
202 m_cacheStorageConfigurationsHasBeenSet = true;
203 m_cacheStorageConfigurations.emplace_back(std::forward<CacheStorageConfigurationsT>(value));
204 return *this;
205 }
207
209
213 inline const AutoScalingConfiguration& GetAutoScalingConfiguration() const { return m_autoScalingConfiguration; }
214 inline bool AutoScalingConfigurationHasBeenSet() const { return m_autoScalingConfigurationHasBeenSet; }
215 template <typename AutoScalingConfigurationT = AutoScalingConfiguration>
216 void SetAutoScalingConfiguration(AutoScalingConfigurationT&& value) {
217 m_autoScalingConfigurationHasBeenSet = true;
218 m_autoScalingConfiguration = std::forward<AutoScalingConfigurationT>(value);
219 }
220 template <typename AutoScalingConfigurationT = AutoScalingConfiguration>
221 CreateKxClusterRequest& WithAutoScalingConfiguration(AutoScalingConfigurationT&& value) {
222 SetAutoScalingConfiguration(std::forward<AutoScalingConfigurationT>(value));
223 return *this;
224 }
226
228
231 inline const Aws::String& GetClusterDescription() const { return m_clusterDescription; }
232 inline bool ClusterDescriptionHasBeenSet() const { return m_clusterDescriptionHasBeenSet; }
233 template <typename ClusterDescriptionT = Aws::String>
234 void SetClusterDescription(ClusterDescriptionT&& value) {
235 m_clusterDescriptionHasBeenSet = true;
236 m_clusterDescription = std::forward<ClusterDescriptionT>(value);
237 }
238 template <typename ClusterDescriptionT = Aws::String>
239 CreateKxClusterRequest& WithClusterDescription(ClusterDescriptionT&& value) {
240 SetClusterDescription(std::forward<ClusterDescriptionT>(value));
241 return *this;
242 }
244
246
250 inline const CapacityConfiguration& GetCapacityConfiguration() const { return m_capacityConfiguration; }
251 inline bool CapacityConfigurationHasBeenSet() const { return m_capacityConfigurationHasBeenSet; }
252 template <typename CapacityConfigurationT = CapacityConfiguration>
253 void SetCapacityConfiguration(CapacityConfigurationT&& value) {
254 m_capacityConfigurationHasBeenSet = true;
255 m_capacityConfiguration = std::forward<CapacityConfigurationT>(value);
256 }
257 template <typename CapacityConfigurationT = CapacityConfiguration>
258 CreateKxClusterRequest& WithCapacityConfiguration(CapacityConfigurationT&& value) {
259 SetCapacityConfiguration(std::forward<CapacityConfigurationT>(value));
260 return *this;
261 }
263
265
268 inline const Aws::String& GetReleaseLabel() const { return m_releaseLabel; }
269 inline bool ReleaseLabelHasBeenSet() const { return m_releaseLabelHasBeenSet; }
270 template <typename ReleaseLabelT = Aws::String>
271 void SetReleaseLabel(ReleaseLabelT&& value) {
272 m_releaseLabelHasBeenSet = true;
273 m_releaseLabel = std::forward<ReleaseLabelT>(value);
274 }
275 template <typename ReleaseLabelT = Aws::String>
276 CreateKxClusterRequest& WithReleaseLabel(ReleaseLabelT&& value) {
277 SetReleaseLabel(std::forward<ReleaseLabelT>(value));
278 return *this;
279 }
281
283
287 inline const VpcConfiguration& GetVpcConfiguration() const { return m_vpcConfiguration; }
288 inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; }
289 template <typename VpcConfigurationT = VpcConfiguration>
290 void SetVpcConfiguration(VpcConfigurationT&& value) {
291 m_vpcConfigurationHasBeenSet = true;
292 m_vpcConfiguration = std::forward<VpcConfigurationT>(value);
293 }
294 template <typename VpcConfigurationT = VpcConfiguration>
295 CreateKxClusterRequest& WithVpcConfiguration(VpcConfigurationT&& value) {
296 SetVpcConfiguration(std::forward<VpcConfigurationT>(value));
297 return *this;
298 }
300
302
308 inline const Aws::String& GetInitializationScript() const { return m_initializationScript; }
309 inline bool InitializationScriptHasBeenSet() const { return m_initializationScriptHasBeenSet; }
310 template <typename InitializationScriptT = Aws::String>
311 void SetInitializationScript(InitializationScriptT&& value) {
312 m_initializationScriptHasBeenSet = true;
313 m_initializationScript = std::forward<InitializationScriptT>(value);
314 }
315 template <typename InitializationScriptT = Aws::String>
316 CreateKxClusterRequest& WithInitializationScript(InitializationScriptT&& value) {
317 SetInitializationScript(std::forward<InitializationScriptT>(value));
318 return *this;
319 }
321
323
326 inline const Aws::Vector<KxCommandLineArgument>& GetCommandLineArguments() const { return m_commandLineArguments; }
327 inline bool CommandLineArgumentsHasBeenSet() const { return m_commandLineArgumentsHasBeenSet; }
328 template <typename CommandLineArgumentsT = Aws::Vector<KxCommandLineArgument>>
329 void SetCommandLineArguments(CommandLineArgumentsT&& value) {
330 m_commandLineArgumentsHasBeenSet = true;
331 m_commandLineArguments = std::forward<CommandLineArgumentsT>(value);
332 }
333 template <typename CommandLineArgumentsT = Aws::Vector<KxCommandLineArgument>>
334 CreateKxClusterRequest& WithCommandLineArguments(CommandLineArgumentsT&& value) {
335 SetCommandLineArguments(std::forward<CommandLineArgumentsT>(value));
336 return *this;
337 }
338 template <typename CommandLineArgumentsT = KxCommandLineArgument>
339 CreateKxClusterRequest& AddCommandLineArguments(CommandLineArgumentsT&& value) {
340 m_commandLineArgumentsHasBeenSet = true;
341 m_commandLineArguments.emplace_back(std::forward<CommandLineArgumentsT>(value));
342 return *this;
343 }
345
347
353 inline const CodeConfiguration& GetCode() const { return m_code; }
354 inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; }
355 template <typename CodeT = CodeConfiguration>
356 void SetCode(CodeT&& value) {
357 m_codeHasBeenSet = true;
358 m_code = std::forward<CodeT>(value);
359 }
360 template <typename CodeT = CodeConfiguration>
362 SetCode(std::forward<CodeT>(value));
363 return *this;
364 }
366
368
373 inline const Aws::String& GetExecutionRole() const { return m_executionRole; }
374 inline bool ExecutionRoleHasBeenSet() const { return m_executionRoleHasBeenSet; }
375 template <typename ExecutionRoleT = Aws::String>
376 void SetExecutionRole(ExecutionRoleT&& value) {
377 m_executionRoleHasBeenSet = true;
378 m_executionRole = std::forward<ExecutionRoleT>(value);
379 }
380 template <typename ExecutionRoleT = Aws::String>
381 CreateKxClusterRequest& WithExecutionRole(ExecutionRoleT&& value) {
382 SetExecutionRole(std::forward<ExecutionRoleT>(value));
383 return *this;
384 }
386
388
394 inline const KxSavedownStorageConfiguration& GetSavedownStorageConfiguration() const { return m_savedownStorageConfiguration; }
395 inline bool SavedownStorageConfigurationHasBeenSet() const { return m_savedownStorageConfigurationHasBeenSet; }
396 template <typename SavedownStorageConfigurationT = KxSavedownStorageConfiguration>
397 void SetSavedownStorageConfiguration(SavedownStorageConfigurationT&& value) {
398 m_savedownStorageConfigurationHasBeenSet = true;
399 m_savedownStorageConfiguration = std::forward<SavedownStorageConfigurationT>(value);
400 }
401 template <typename SavedownStorageConfigurationT = KxSavedownStorageConfiguration>
402 CreateKxClusterRequest& WithSavedownStorageConfiguration(SavedownStorageConfigurationT&& value) {
403 SetSavedownStorageConfiguration(std::forward<SavedownStorageConfigurationT>(value));
404 return *this;
405 }
407
409
415 inline KxAzMode GetAzMode() const { return m_azMode; }
416 inline bool AzModeHasBeenSet() const { return m_azModeHasBeenSet; }
417 inline void SetAzMode(KxAzMode value) {
418 m_azModeHasBeenSet = true;
419 m_azMode = value;
420 }
422 SetAzMode(value);
423 return *this;
424 }
426
428
431 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
432 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
433 template <typename AvailabilityZoneIdT = Aws::String>
434 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
435 m_availabilityZoneIdHasBeenSet = true;
436 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
437 }
438 template <typename AvailabilityZoneIdT = Aws::String>
439 CreateKxClusterRequest& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
440 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
441 return *this;
442 }
444
446
450 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
451 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
452 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
453 void SetTags(TagsT&& value) {
454 m_tagsHasBeenSet = true;
455 m_tags = std::forward<TagsT>(value);
456 }
457 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
459 SetTags(std::forward<TagsT>(value));
460 return *this;
461 }
462 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
463 CreateKxClusterRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
464 m_tagsHasBeenSet = true;
465 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
466 return *this;
467 }
469
471
474 inline const KxScalingGroupConfiguration& GetScalingGroupConfiguration() const { return m_scalingGroupConfiguration; }
475 inline bool ScalingGroupConfigurationHasBeenSet() const { return m_scalingGroupConfigurationHasBeenSet; }
476 template <typename ScalingGroupConfigurationT = KxScalingGroupConfiguration>
477 void SetScalingGroupConfiguration(ScalingGroupConfigurationT&& value) {
478 m_scalingGroupConfigurationHasBeenSet = true;
479 m_scalingGroupConfiguration = std::forward<ScalingGroupConfigurationT>(value);
480 }
481 template <typename ScalingGroupConfigurationT = KxScalingGroupConfiguration>
482 CreateKxClusterRequest& WithScalingGroupConfiguration(ScalingGroupConfigurationT&& value) {
483 SetScalingGroupConfiguration(std::forward<ScalingGroupConfigurationT>(value));
484 return *this;
485 }
487 private:
489 bool m_clientTokenHasBeenSet = true;
490
491 Aws::String m_environmentId;
492 bool m_environmentIdHasBeenSet = false;
493
494 Aws::String m_clusterName;
495 bool m_clusterNameHasBeenSet = false;
496
498 bool m_clusterTypeHasBeenSet = false;
499
500 TickerplantLogConfiguration m_tickerplantLogConfiguration;
501 bool m_tickerplantLogConfigurationHasBeenSet = false;
502
504 bool m_databasesHasBeenSet = false;
505
506 Aws::Vector<KxCacheStorageConfiguration> m_cacheStorageConfigurations;
507 bool m_cacheStorageConfigurationsHasBeenSet = false;
508
509 AutoScalingConfiguration m_autoScalingConfiguration;
510 bool m_autoScalingConfigurationHasBeenSet = false;
511
512 Aws::String m_clusterDescription;
513 bool m_clusterDescriptionHasBeenSet = false;
514
515 CapacityConfiguration m_capacityConfiguration;
516 bool m_capacityConfigurationHasBeenSet = false;
517
518 Aws::String m_releaseLabel;
519 bool m_releaseLabelHasBeenSet = false;
520
521 VpcConfiguration m_vpcConfiguration;
522 bool m_vpcConfigurationHasBeenSet = false;
523
524 Aws::String m_initializationScript;
525 bool m_initializationScriptHasBeenSet = false;
526
527 Aws::Vector<KxCommandLineArgument> m_commandLineArguments;
528 bool m_commandLineArgumentsHasBeenSet = false;
529
530 CodeConfiguration m_code;
531 bool m_codeHasBeenSet = false;
532
533 Aws::String m_executionRole;
534 bool m_executionRoleHasBeenSet = false;
535
536 KxSavedownStorageConfiguration m_savedownStorageConfiguration;
537 bool m_savedownStorageConfigurationHasBeenSet = false;
538
539 KxAzMode m_azMode{KxAzMode::NOT_SET};
540 bool m_azModeHasBeenSet = false;
541
542 Aws::String m_availabilityZoneId;
543 bool m_availabilityZoneIdHasBeenSet = false;
544
546 bool m_tagsHasBeenSet = false;
547
548 KxScalingGroupConfiguration m_scalingGroupConfiguration;
549 bool m_scalingGroupConfigurationHasBeenSet = false;
550};
551
552} // namespace Model
553} // namespace finspace
554} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
const TickerplantLogConfiguration & GetTickerplantLogConfiguration() const
void SetCommandLineArguments(CommandLineArgumentsT &&value)
void SetClusterDescription(ClusterDescriptionT &&value)
CreateKxClusterRequest & WithCommandLineArguments(CommandLineArgumentsT &&value)
CreateKxClusterRequest & AddDatabases(DatabasesT &&value)
CreateKxClusterRequest & WithClusterType(KxClusterType value)
const Aws::Vector< KxCacheStorageConfiguration > & GetCacheStorageConfigurations() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
AWS_FINSPACE_API Aws::String SerializePayload() const override
CreateKxClusterRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateKxClusterRequest & WithClusterDescription(ClusterDescriptionT &&value)
CreateKxClusterRequest & WithAzMode(KxAzMode value)
CreateKxClusterRequest & WithCapacityConfiguration(CapacityConfigurationT &&value)
CreateKxClusterRequest & WithCode(CodeT &&value)
CreateKxClusterRequest & WithVpcConfiguration(VpcConfigurationT &&value)
CreateKxClusterRequest & WithTags(TagsT &&value)
void SetSavedownStorageConfiguration(SavedownStorageConfigurationT &&value)
AWS_FINSPACE_API CreateKxClusterRequest()=default
CreateKxClusterRequest & WithSavedownStorageConfiguration(SavedownStorageConfigurationT &&value)
void SetVpcConfiguration(VpcConfigurationT &&value)
CreateKxClusterRequest & WithTickerplantLogConfiguration(TickerplantLogConfigurationT &&value)
const KxSavedownStorageConfiguration & GetSavedownStorageConfiguration() const
const Aws::Vector< KxDatabaseConfiguration > & GetDatabases() const
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
CreateKxClusterRequest & WithCacheStorageConfigurations(CacheStorageConfigurationsT &&value)
void SetTickerplantLogConfiguration(TickerplantLogConfigurationT &&value)
CreateKxClusterRequest & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
CreateKxClusterRequest & WithInitializationScript(InitializationScriptT &&value)
CreateKxClusterRequest & WithExecutionRole(ExecutionRoleT &&value)
CreateKxClusterRequest & WithDatabases(DatabasesT &&value)
CreateKxClusterRequest & WithEnvironmentId(EnvironmentIdT &&value)
virtual const char * GetServiceRequestName() const override
CreateKxClusterRequest & WithScalingGroupConfiguration(ScalingGroupConfigurationT &&value)
void SetInitializationScript(InitializationScriptT &&value)
const KxScalingGroupConfiguration & GetScalingGroupConfiguration() const
void SetAutoScalingConfiguration(AutoScalingConfigurationT &&value)
const CapacityConfiguration & GetCapacityConfiguration() const
const VpcConfiguration & GetVpcConfiguration() const
void SetCapacityConfiguration(CapacityConfigurationT &&value)
void SetScalingGroupConfiguration(ScalingGroupConfigurationT &&value)
const Aws::Vector< KxCommandLineArgument > & GetCommandLineArguments() const
CreateKxClusterRequest & WithClientToken(ClientTokenT &&value)
CreateKxClusterRequest & WithAutoScalingConfiguration(AutoScalingConfigurationT &&value)
CreateKxClusterRequest & WithClusterName(ClusterNameT &&value)
CreateKxClusterRequest & WithReleaseLabel(ReleaseLabelT &&value)
void SetCacheStorageConfigurations(CacheStorageConfigurationsT &&value)
CreateKxClusterRequest & AddCommandLineArguments(CommandLineArgumentsT &&value)
CreateKxClusterRequest & AddCacheStorageConfigurations(CacheStorageConfigurationsT &&value)
const AutoScalingConfiguration & GetAutoScalingConfiguration() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector