AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateInstanceSnapshotRequest.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/lightsail/LightsailRequest.h>
10#include <aws/lightsail/Lightsail_EXPORTS.h>
11#include <aws/lightsail/model/Tag.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Lightsail {
17namespace Model {
18
22 public:
23 AWS_LIGHTSAIL_API CreateInstanceSnapshotRequest() = default;
24
25 // Service request name is the Operation name which will send this request out,
26 // each operation should has unique request name, so that we can get operation's name from this request.
27 // Note: this is not true for response, multiple operations may have the same response name,
28 // so we can not get operation's name from response.
29 inline virtual const char* GetServiceRequestName() const override { return "CreateInstanceSnapshot"; }
30
31 AWS_LIGHTSAIL_API Aws::String SerializePayload() const override;
32
34
36
39 inline const Aws::String& GetInstanceSnapshotName() const { return m_instanceSnapshotName; }
40 inline bool InstanceSnapshotNameHasBeenSet() const { return m_instanceSnapshotNameHasBeenSet; }
41 template <typename InstanceSnapshotNameT = Aws::String>
42 void SetInstanceSnapshotName(InstanceSnapshotNameT&& value) {
43 m_instanceSnapshotNameHasBeenSet = true;
44 m_instanceSnapshotName = std::forward<InstanceSnapshotNameT>(value);
45 }
46 template <typename InstanceSnapshotNameT = Aws::String>
48 SetInstanceSnapshotName(std::forward<InstanceSnapshotNameT>(value));
49 return *this;
50 }
52
54
57 inline const Aws::String& GetInstanceName() const { return m_instanceName; }
58 inline bool InstanceNameHasBeenSet() const { return m_instanceNameHasBeenSet; }
59 template <typename InstanceNameT = Aws::String>
60 void SetInstanceName(InstanceNameT&& value) {
61 m_instanceNameHasBeenSet = true;
62 m_instanceName = std::forward<InstanceNameT>(value);
63 }
64 template <typename InstanceNameT = Aws::String>
66 SetInstanceName(std::forward<InstanceNameT>(value));
67 return *this;
68 }
70
72
77 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
78 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
79 template <typename TagsT = Aws::Vector<Tag>>
80 void SetTags(TagsT&& value) {
81 m_tagsHasBeenSet = true;
82 m_tags = std::forward<TagsT>(value);
83 }
84 template <typename TagsT = Aws::Vector<Tag>>
86 SetTags(std::forward<TagsT>(value));
87 return *this;
88 }
89 template <typename TagsT = Tag>
91 m_tagsHasBeenSet = true;
92 m_tags.emplace_back(std::forward<TagsT>(value));
93 return *this;
94 }
96 private:
97 Aws::String m_instanceSnapshotName;
98
99 Aws::String m_instanceName;
100
101 Aws::Vector<Tag> m_tags;
102 bool m_instanceSnapshotNameHasBeenSet = false;
103 bool m_instanceNameHasBeenSet = false;
104 bool m_tagsHasBeenSet = false;
105};
106
107} // namespace Model
108} // namespace Lightsail
109} // namespace Aws
CreateInstanceSnapshotRequest & AddTags(TagsT &&value)
CreateInstanceSnapshotRequest & WithTags(TagsT &&value)
CreateInstanceSnapshotRequest & WithInstanceName(InstanceNameT &&value)
AWS_LIGHTSAIL_API CreateInstanceSnapshotRequest()=default
AWS_LIGHTSAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
AWS_LIGHTSAIL_API Aws::String SerializePayload() const override
CreateInstanceSnapshotRequest & WithInstanceSnapshotName(InstanceSnapshotNameT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector