AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ReportInstanceStatusRequest.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/model/ReportStatusType.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/ec2/model/ReportInstanceReasonCodes.h>
14#include <utility>
15
16namespace Aws
17{
18namespace EC2
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_EC2_API ReportInstanceStatusRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "ReportInstanceStatus"; }
35
36 AWS_EC2_API Aws::String SerializePayload() const override;
37
38 protected:
39 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
40
41 public:
42
44
50 inline bool GetDryRun() const { return m_dryRun; }
51 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
52 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
53 inline ReportInstanceStatusRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
55
57
60 inline const Aws::Vector<Aws::String>& GetInstances() const { return m_instances; }
61 inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; }
62 template<typename InstancesT = Aws::Vector<Aws::String>>
63 void SetInstances(InstancesT&& value) { m_instancesHasBeenSet = true; m_instances = std::forward<InstancesT>(value); }
64 template<typename InstancesT = Aws::Vector<Aws::String>>
65 ReportInstanceStatusRequest& WithInstances(InstancesT&& value) { SetInstances(std::forward<InstancesT>(value)); return *this;}
66 template<typename InstancesT = Aws::String>
67 ReportInstanceStatusRequest& AddInstances(InstancesT&& value) { m_instancesHasBeenSet = true; m_instances.emplace_back(std::forward<InstancesT>(value)); return *this; }
69
71
74 inline ReportStatusType GetStatus() const { return m_status; }
75 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
76 inline void SetStatus(ReportStatusType value) { m_statusHasBeenSet = true; m_status = value; }
77 inline ReportInstanceStatusRequest& WithStatus(ReportStatusType value) { SetStatus(value); return *this;}
79
81
84 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
85 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
86 template<typename StartTimeT = Aws::Utils::DateTime>
87 void SetStartTime(StartTimeT&& value) { m_startTimeHasBeenSet = true; m_startTime = std::forward<StartTimeT>(value); }
88 template<typename StartTimeT = Aws::Utils::DateTime>
89 ReportInstanceStatusRequest& WithStartTime(StartTimeT&& value) { SetStartTime(std::forward<StartTimeT>(value)); return *this;}
91
93
96 inline const Aws::Utils::DateTime& GetEndTime() const { return m_endTime; }
97 inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
98 template<typename EndTimeT = Aws::Utils::DateTime>
99 void SetEndTime(EndTimeT&& value) { m_endTimeHasBeenSet = true; m_endTime = std::forward<EndTimeT>(value); }
100 template<typename EndTimeT = Aws::Utils::DateTime>
101 ReportInstanceStatusRequest& WithEndTime(EndTimeT&& value) { SetEndTime(std::forward<EndTimeT>(value)); return *this;}
103
105
122 inline const Aws::Vector<ReportInstanceReasonCodes>& GetReasonCodes() const { return m_reasonCodes; }
123 inline bool ReasonCodesHasBeenSet() const { return m_reasonCodesHasBeenSet; }
124 template<typename ReasonCodesT = Aws::Vector<ReportInstanceReasonCodes>>
125 void SetReasonCodes(ReasonCodesT&& value) { m_reasonCodesHasBeenSet = true; m_reasonCodes = std::forward<ReasonCodesT>(value); }
126 template<typename ReasonCodesT = Aws::Vector<ReportInstanceReasonCodes>>
127 ReportInstanceStatusRequest& WithReasonCodes(ReasonCodesT&& value) { SetReasonCodes(std::forward<ReasonCodesT>(value)); return *this;}
128 inline ReportInstanceStatusRequest& AddReasonCodes(ReportInstanceReasonCodes value) { m_reasonCodesHasBeenSet = true; m_reasonCodes.push_back(value); return *this; }
130 private:
131
132 bool m_dryRun{false};
133 bool m_dryRunHasBeenSet = false;
134
135 Aws::Vector<Aws::String> m_instances;
136 bool m_instancesHasBeenSet = false;
137
139 bool m_statusHasBeenSet = false;
140
141 Aws::Utils::DateTime m_startTime{};
142 bool m_startTimeHasBeenSet = false;
143
144 Aws::Utils::DateTime m_endTime{};
145 bool m_endTimeHasBeenSet = false;
146
148 bool m_reasonCodesHasBeenSet = false;
149 };
150
151} // namespace Model
152} // namespace EC2
153} // namespace Aws
ReportInstanceStatusRequest & AddInstances(InstancesT &&value)
ReportInstanceStatusRequest & WithDryRun(bool value)
AWS_EC2_API ReportInstanceStatusRequest()=default
ReportInstanceStatusRequest & WithInstances(InstancesT &&value)
ReportInstanceStatusRequest & WithEndTime(EndTimeT &&value)
ReportInstanceStatusRequest & AddReasonCodes(ReportInstanceReasonCodes value)
ReportInstanceStatusRequest & WithReasonCodes(ReasonCodesT &&value)
const Aws::Vector< ReportInstanceReasonCodes > & GetReasonCodes() const
const Aws::Vector< Aws::String > & GetInstances() const
virtual const char * GetServiceRequestName() const override
const Aws::Utils::DateTime & GetStartTime() const
AWS_EC2_API Aws::String SerializePayload() const override
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
ReportInstanceStatusRequest & WithStartTime(StartTimeT &&value)
ReportInstanceStatusRequest & WithStatus(ReportStatusType value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector