AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
SpotPlacement.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ec2/EC2_EXPORTS.h>
10#include <aws/ec2/model/Tenancy.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace EC2 {
21namespace Model {
22
29 public:
30 AWS_EC2_API SpotPlacement() = default;
31 AWS_EC2_API SpotPlacement(const Aws::Utils::Xml::XmlNode& xmlNode);
32 AWS_EC2_API SpotPlacement& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
33
34 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
35 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
36
38
45 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
46 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
47 template <typename AvailabilityZoneT = Aws::String>
48 void SetAvailabilityZone(AvailabilityZoneT&& value) {
49 m_availabilityZoneHasBeenSet = true;
50 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
51 }
52 template <typename AvailabilityZoneT = Aws::String>
53 SpotPlacement& WithAvailabilityZone(AvailabilityZoneT&& value) {
54 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetGroupName() const { return m_groupName; }
64 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
65 template <typename GroupNameT = Aws::String>
66 void SetGroupName(GroupNameT&& value) {
67 m_groupNameHasBeenSet = true;
68 m_groupName = std::forward<GroupNameT>(value);
69 }
70 template <typename GroupNameT = Aws::String>
71 SpotPlacement& WithGroupName(GroupNameT&& value) {
72 SetGroupName(std::forward<GroupNameT>(value));
73 return *this;
74 }
76
78
83 inline Tenancy GetTenancy() const { return m_tenancy; }
84 inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; }
85 inline void SetTenancy(Tenancy value) {
86 m_tenancyHasBeenSet = true;
87 m_tenancy = value;
88 }
90 SetTenancy(value);
91 return *this;
92 }
94
96
103 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
104 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
105 template <typename AvailabilityZoneIdT = Aws::String>
106 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
107 m_availabilityZoneIdHasBeenSet = true;
108 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
109 }
110 template <typename AvailabilityZoneIdT = Aws::String>
111 SpotPlacement& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
112 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
113 return *this;
114 }
116 private:
117 Aws::String m_availabilityZone;
118
119 Aws::String m_groupName;
120
121 Tenancy m_tenancy{Tenancy::NOT_SET};
122
123 Aws::String m_availabilityZoneId;
124 bool m_availabilityZoneHasBeenSet = false;
125 bool m_groupNameHasBeenSet = false;
126 bool m_tenancyHasBeenSet = false;
127 bool m_availabilityZoneIdHasBeenSet = false;
128};
129
130} // namespace Model
131} // namespace EC2
132} // namespace Aws
void SetGroupName(GroupNameT &&value)
const Aws::String & GetAvailabilityZone() const
const Aws::String & GetAvailabilityZoneId() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API SpotPlacement & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
SpotPlacement & WithAvailabilityZone(AvailabilityZoneT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
SpotPlacement & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
AWS_EC2_API SpotPlacement(const Aws::Utils::Xml::XmlNode &xmlNode)
SpotPlacement & WithTenancy(Tenancy value)
AWS_EC2_API SpotPlacement()=default
void SetTenancy(Tenancy value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
SpotPlacement & WithGroupName(GroupNameT &&value)
const Aws::String & GetGroupName() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream