AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InstanceConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
10#include <aws/imagebuilder/model/InstanceBlockDeviceMapping.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace imagebuilder {
22namespace Model {
23
32 public:
33 AWS_IMAGEBUILDER_API InstanceConfiguration() = default;
34 AWS_IMAGEBUILDER_API InstanceConfiguration(Aws::Utils::Json::JsonView jsonValue);
36 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
46 inline const Aws::String& GetImage() const { return m_image; }
47 inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; }
48 template <typename ImageT = Aws::String>
49 void SetImage(ImageT&& value) {
50 m_imageHasBeenSet = true;
51 m_image = std::forward<ImageT>(value);
52 }
53 template <typename ImageT = Aws::String>
55 SetImage(std::forward<ImageT>(value));
56 return *this;
57 }
59
61
65 inline const Aws::Vector<InstanceBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
66 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
67 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
68 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
69 m_blockDeviceMappingsHasBeenSet = true;
70 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
71 }
72 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
73 InstanceConfiguration& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
74 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
75 return *this;
76 }
77 template <typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
78 InstanceConfiguration& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
79 m_blockDeviceMappingsHasBeenSet = true;
80 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
81 return *this;
82 }
84 private:
85 Aws::String m_image;
86
87 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
88 bool m_imageHasBeenSet = false;
89 bool m_blockDeviceMappingsHasBeenSet = false;
90};
91
92} // namespace Model
93} // namespace imagebuilder
94} // namespace Aws
AWS_IMAGEBUILDER_API InstanceConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_IMAGEBUILDER_API InstanceConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_IMAGEBUILDER_API InstanceConfiguration()=default
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceConfiguration & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
InstanceConfiguration & WithImage(ImageT &&value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
InstanceConfiguration & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue