AWS SDK for C++

AWS SDK for C++ Version 1.11.754

Loading...
Searching...
No Matches
DesiredConfiguration.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/LaunchTemplateSpecification.h>
9#include <aws/autoscaling/model/MixedInstancesPolicy.h>
10#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace AutoScaling {
21namespace Model {
22
32 public:
33 AWS_AUTOSCALING_API DesiredConfiguration() = default;
34 AWS_AUTOSCALING_API DesiredConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
35 AWS_AUTOSCALING_API DesiredConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
36
37 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
39
41
48 inline const LaunchTemplateSpecification& GetLaunchTemplate() const { return m_launchTemplate; }
49 inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; }
50 template <typename LaunchTemplateT = LaunchTemplateSpecification>
51 void SetLaunchTemplate(LaunchTemplateT&& value) {
52 m_launchTemplateHasBeenSet = true;
53 m_launchTemplate = std::forward<LaunchTemplateT>(value);
54 }
55 template <typename LaunchTemplateT = LaunchTemplateSpecification>
56 DesiredConfiguration& WithLaunchTemplate(LaunchTemplateT&& value) {
57 SetLaunchTemplate(std::forward<LaunchTemplateT>(value));
58 return *this;
59 }
61
63
72 inline const MixedInstancesPolicy& GetMixedInstancesPolicy() const { return m_mixedInstancesPolicy; }
73 inline bool MixedInstancesPolicyHasBeenSet() const { return m_mixedInstancesPolicyHasBeenSet; }
74 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
75 void SetMixedInstancesPolicy(MixedInstancesPolicyT&& value) {
76 m_mixedInstancesPolicyHasBeenSet = true;
77 m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value);
78 }
79 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
80 DesiredConfiguration& WithMixedInstancesPolicy(MixedInstancesPolicyT&& value) {
81 SetMixedInstancesPolicy(std::forward<MixedInstancesPolicyT>(value));
82 return *this;
83 }
85 private:
86 LaunchTemplateSpecification m_launchTemplate;
87
88 MixedInstancesPolicy m_mixedInstancesPolicy;
89 bool m_launchTemplateHasBeenSet = false;
90 bool m_mixedInstancesPolicyHasBeenSet = false;
91};
92
93} // namespace Model
94} // namespace AutoScaling
95} // namespace Aws
void SetMixedInstancesPolicy(MixedInstancesPolicyT &&value)
const MixedInstancesPolicy & GetMixedInstancesPolicy() const
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_AUTOSCALING_API DesiredConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
DesiredConfiguration & WithLaunchTemplate(LaunchTemplateT &&value)
AWS_AUTOSCALING_API DesiredConfiguration()=default
DesiredConfiguration & WithMixedInstancesPolicy(MixedInstancesPolicyT &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const LaunchTemplateSpecification & GetLaunchTemplate() const
AWS_AUTOSCALING_API DesiredConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
std::basic_ostream< char, std::char_traits< char > > OStream