AWS SDK for C++  0.12.9
AWS SDK for C++
EBSOptions.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
18 
19 namespace Aws
20 {
21 namespace Utils
22 {
23 namespace Json
24 {
25  class JsonValue;
26 } // namespace Json
27 } // namespace Utils
28 namespace ElasticsearchService
29 {
30 namespace Model
31 {
32 
40  {
41  public:
42  EBSOptions();
43  EBSOptions(const Aws::Utils::Json::JsonValue& jsonValue);
44  EBSOptions& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
45  Aws::Utils::Json::JsonValue Jsonize() const;
46 
50  inline bool GetEBSEnabled() const{ return m_eBSEnabled; }
51 
55  inline void SetEBSEnabled(bool value) { m_eBSEnabledHasBeenSet = true; m_eBSEnabled = value; }
56 
60  inline EBSOptions& WithEBSEnabled(bool value) { SetEBSEnabled(value); return *this;}
61 
65  inline const VolumeType& GetVolumeType() const{ return m_volumeType; }
66 
70  inline void SetVolumeType(const VolumeType& value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; }
71 
75  inline void SetVolumeType(VolumeType&& value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; }
76 
80  inline EBSOptions& WithVolumeType(const VolumeType& value) { SetVolumeType(value); return *this;}
81 
85  inline EBSOptions& WithVolumeType(VolumeType&& value) { SetVolumeType(value); return *this;}
86 
90  inline long GetVolumeSize() const{ return m_volumeSize; }
91 
95  inline void SetVolumeSize(long value) { m_volumeSizeHasBeenSet = true; m_volumeSize = value; }
96 
100  inline EBSOptions& WithVolumeSize(long value) { SetVolumeSize(value); return *this;}
101 
105  inline long GetIops() const{ return m_iops; }
106 
110  inline void SetIops(long value) { m_iopsHasBeenSet = true; m_iops = value; }
111 
115  inline EBSOptions& WithIops(long value) { SetIops(value); return *this;}
116 
117  private:
118  bool m_eBSEnabled;
119  bool m_eBSEnabledHasBeenSet;
120  VolumeType m_volumeType;
121  bool m_volumeTypeHasBeenSet;
122  long m_volumeSize;
123  bool m_volumeSizeHasBeenSet;
124  long m_iops;
125  bool m_iopsHasBeenSet;
126  };
127 
128 } // namespace Model
129 } // namespace ElasticsearchService
130 } // namespace Aws
EBSOptions & WithVolumeType(const VolumeType &value)
Definition: EBSOptions.h:80
const VolumeType & GetVolumeType() const
Definition: EBSOptions.h:65
EBSOptions & WithVolumeSize(long value)
Definition: EBSOptions.h:100
void SetVolumeType(VolumeType &&value)
Definition: EBSOptions.h:75
#define AWS_ELASTICSEARCHSERVICE_API
EBSOptions & WithEBSEnabled(bool value)
Definition: EBSOptions.h:60
void SetVolumeType(const VolumeType &value)
Definition: EBSOptions.h:70
EBSOptions & WithVolumeType(VolumeType &&value)
Definition: EBSOptions.h:85
JSON (JavaScript Object Notation).