AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
InstanceConfiguration.h
1
6#pragma once
7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/imagebuilder/model/InstanceBlockDeviceMapping.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace imagebuilder
24{
25namespace Model
26{
27
36 {
37 public:
38 AWS_IMAGEBUILDER_API InstanceConfiguration() = default;
39 AWS_IMAGEBUILDER_API InstanceConfiguration(Aws::Utils::Json::JsonView jsonValue);
41 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
52 inline const Aws::String& GetImage() const { return m_image; }
53 inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; }
54 template<typename ImageT = Aws::String>
55 void SetImage(ImageT&& value) { m_imageHasBeenSet = true; m_image = std::forward<ImageT>(value); }
56 template<typename ImageT = Aws::String>
57 InstanceConfiguration& WithImage(ImageT&& value) { SetImage(std::forward<ImageT>(value)); return *this;}
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) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
69 template<typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
70 InstanceConfiguration& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
71 template<typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
72 InstanceConfiguration& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
74 private:
75
76 Aws::String m_image;
77 bool m_imageHasBeenSet = false;
78
79 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
80 bool m_blockDeviceMappingsHasBeenSet = false;
81 };
82
83} // namespace Model
84} // namespace imagebuilder
85} // 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