AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
DescribeScheduledInstanceAvailabilityRequest.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/SlotDateTimeRangeRequest.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/ec2/model/ScheduledInstanceRecurrenceRequest.h>
13#include <aws/ec2/model/Filter.h>
14#include <utility>
15
16namespace Aws
17{
18namespace EC2
19{
20namespace Model
21{
22
30 {
31 public:
33
34 // Service request name is the Operation name which will send this request out,
35 // each operation should has unique request name, so that we can get operation's name from this request.
36 // Note: this is not true for response, multiple operations may have the same response name,
37 // so we can not get operation's name from response.
38 inline virtual const char* GetServiceRequestName() const override { return "DescribeScheduledInstanceAvailability"; }
39
40 AWS_EC2_API Aws::String SerializePayload() const override;
41
42 protected:
43 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
44
45 public:
46
48
54 inline bool GetDryRun() const { return m_dryRun; }
55 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
56 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
57 inline DescribeScheduledInstanceAvailabilityRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
59
61
68 inline const Aws::Vector<Filter>& GetFilters() const { return m_filters; }
69 inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
70 template<typename FiltersT = Aws::Vector<Filter>>
71 void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward<FiltersT>(value); }
72 template<typename FiltersT = Aws::Vector<Filter>>
73 DescribeScheduledInstanceAvailabilityRequest& WithFilters(FiltersT&& value) { SetFilters(std::forward<FiltersT>(value)); return *this;}
74 template<typename FiltersT = Filter>
75 DescribeScheduledInstanceAvailabilityRequest& AddFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters.emplace_back(std::forward<FiltersT>(value)); return *this; }
77
79
82 inline const SlotDateTimeRangeRequest& GetFirstSlotStartTimeRange() const { return m_firstSlotStartTimeRange; }
83 inline bool FirstSlotStartTimeRangeHasBeenSet() const { return m_firstSlotStartTimeRangeHasBeenSet; }
84 template<typename FirstSlotStartTimeRangeT = SlotDateTimeRangeRequest>
85 void SetFirstSlotStartTimeRange(FirstSlotStartTimeRangeT&& value) { m_firstSlotStartTimeRangeHasBeenSet = true; m_firstSlotStartTimeRange = std::forward<FirstSlotStartTimeRangeT>(value); }
86 template<typename FirstSlotStartTimeRangeT = SlotDateTimeRangeRequest>
87 DescribeScheduledInstanceAvailabilityRequest& WithFirstSlotStartTimeRange(FirstSlotStartTimeRangeT&& value) { SetFirstSlotStartTimeRange(std::forward<FirstSlotStartTimeRangeT>(value)); return *this;}
89
91
96 inline int GetMaxResults() const { return m_maxResults; }
97 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
98 inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
101
103
107 inline int GetMaxSlotDurationInHours() const { return m_maxSlotDurationInHours; }
108 inline bool MaxSlotDurationInHoursHasBeenSet() const { return m_maxSlotDurationInHoursHasBeenSet; }
109 inline void SetMaxSlotDurationInHours(int value) { m_maxSlotDurationInHoursHasBeenSet = true; m_maxSlotDurationInHours = value; }
112
114
120 inline int GetMinSlotDurationInHours() const { return m_minSlotDurationInHours; }
121 inline bool MinSlotDurationInHoursHasBeenSet() const { return m_minSlotDurationInHoursHasBeenSet; }
122 inline void SetMinSlotDurationInHours(int value) { m_minSlotDurationInHoursHasBeenSet = true; m_minSlotDurationInHours = value; }
125
127
130 inline const Aws::String& GetNextToken() const { return m_nextToken; }
131 inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
132 template<typename NextTokenT = Aws::String>
133 void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward<NextTokenT>(value); }
134 template<typename NextTokenT = Aws::String>
135 DescribeScheduledInstanceAvailabilityRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward<NextTokenT>(value)); return *this;}
137
139
142 inline const ScheduledInstanceRecurrenceRequest& GetRecurrence() const { return m_recurrence; }
143 inline bool RecurrenceHasBeenSet() const { return m_recurrenceHasBeenSet; }
144 template<typename RecurrenceT = ScheduledInstanceRecurrenceRequest>
145 void SetRecurrence(RecurrenceT&& value) { m_recurrenceHasBeenSet = true; m_recurrence = std::forward<RecurrenceT>(value); }
146 template<typename RecurrenceT = ScheduledInstanceRecurrenceRequest>
147 DescribeScheduledInstanceAvailabilityRequest& WithRecurrence(RecurrenceT&& value) { SetRecurrence(std::forward<RecurrenceT>(value)); return *this;}
149 private:
150
151 bool m_dryRun{false};
152 bool m_dryRunHasBeenSet = false;
153
154 Aws::Vector<Filter> m_filters;
155 bool m_filtersHasBeenSet = false;
156
157 SlotDateTimeRangeRequest m_firstSlotStartTimeRange;
158 bool m_firstSlotStartTimeRangeHasBeenSet = false;
159
160 int m_maxResults{0};
161 bool m_maxResultsHasBeenSet = false;
162
163 int m_maxSlotDurationInHours{0};
164 bool m_maxSlotDurationInHoursHasBeenSet = false;
165
166 int m_minSlotDurationInHours{0};
167 bool m_minSlotDurationInHoursHasBeenSet = false;
168
169 Aws::String m_nextToken;
170 bool m_nextTokenHasBeenSet = false;
171
172 ScheduledInstanceRecurrenceRequest m_recurrence;
173 bool m_recurrenceHasBeenSet = false;
174 };
175
176} // namespace Model
177} // namespace EC2
178} // namespace Aws
DescribeScheduledInstanceAvailabilityRequest & AddFilters(FiltersT &&value)
DescribeScheduledInstanceAvailabilityRequest & WithFirstSlotStartTimeRange(FirstSlotStartTimeRangeT &&value)
AWS_EC2_API Aws::String SerializePayload() const override
DescribeScheduledInstanceAvailabilityRequest & WithNextToken(NextTokenT &&value)
DescribeScheduledInstanceAvailabilityRequest & WithMinSlotDurationInHours(int value)
DescribeScheduledInstanceAvailabilityRequest & WithRecurrence(RecurrenceT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
DescribeScheduledInstanceAvailabilityRequest & WithFilters(FiltersT &&value)
DescribeScheduledInstanceAvailabilityRequest & WithMaxSlotDurationInHours(int value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector