AWS SDK for C++  0.12.9
AWS SDK for C++
VolumeSpecification.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 EMR
29 {
30 namespace Model
31 {
32 
38  {
39  public:
42  VolumeSpecification& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
43  Aws::Utils::Json::JsonValue Jsonize() const;
44 
48  inline const Aws::String& GetVolumeType() const{ return m_volumeType; }
49 
53  inline void SetVolumeType(const Aws::String& value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; }
54 
58  inline void SetVolumeType(Aws::String&& value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; }
59 
63  inline void SetVolumeType(const char* value) { m_volumeTypeHasBeenSet = true; m_volumeType.assign(value); }
64 
68  inline VolumeSpecification& WithVolumeType(const Aws::String& value) { SetVolumeType(value); return *this;}
69 
73  inline VolumeSpecification& WithVolumeType(Aws::String&& value) { SetVolumeType(value); return *this;}
74 
78  inline VolumeSpecification& WithVolumeType(const char* value) { SetVolumeType(value); return *this;}
79 
83  inline long GetIops() const{ return m_iops; }
84 
88  inline void SetIops(long value) { m_iopsHasBeenSet = true; m_iops = value; }
89 
93  inline VolumeSpecification& WithIops(long value) { SetIops(value); return *this;}
94 
99  inline long GetSizeInGB() const{ return m_sizeInGB; }
100 
105  inline void SetSizeInGB(long value) { m_sizeInGBHasBeenSet = true; m_sizeInGB = value; }
106 
111  inline VolumeSpecification& WithSizeInGB(long value) { SetSizeInGB(value); return *this;}
112 
113  private:
114  Aws::String m_volumeType;
115  bool m_volumeTypeHasBeenSet;
116  long m_iops;
117  bool m_iopsHasBeenSet;
118  long m_sizeInGB;
119  bool m_sizeInGBHasBeenSet;
120  };
121 
122 } // namespace Model
123 } // namespace EMR
124 } // namespace Aws
VolumeSpecification & WithSizeInGB(long value)
void SetVolumeType(Aws::String &&value)
VolumeSpecification & WithIops(long value)
const Aws::String & GetVolumeType() const
void SetVolumeType(const Aws::String &value)
VolumeSpecification & WithVolumeType(Aws::String &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
VolumeSpecification & WithVolumeType(const char *value)
#define AWS_EMR_API
Definition: EMR_EXPORTS.h:34
VolumeSpecification & WithVolumeType(const Aws::String &value)
JSON (JavaScript Object Notation).