AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
EC2InstanceDetails.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <utility>
10
11namespace Aws
12{
13namespace Utils
14{
15namespace Json
16{
17 class JsonValue;
18 class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace CostExplorer
22{
23namespace Model
24{
25
33 {
34 public:
35 AWS_COSTEXPLORER_API EC2InstanceDetails() = default;
36 AWS_COSTEXPLORER_API EC2InstanceDetails(Aws::Utils::Json::JsonView jsonValue);
38 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
39
40
42
45 inline const Aws::String& GetFamily() const { return m_family; }
46 inline bool FamilyHasBeenSet() const { return m_familyHasBeenSet; }
47 template<typename FamilyT = Aws::String>
48 void SetFamily(FamilyT&& value) { m_familyHasBeenSet = true; m_family = std::forward<FamilyT>(value); }
49 template<typename FamilyT = Aws::String>
50 EC2InstanceDetails& WithFamily(FamilyT&& value) { SetFamily(std::forward<FamilyT>(value)); return *this;}
52
54
57 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
58 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
59 template<typename InstanceTypeT = Aws::String>
60 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
61 template<typename InstanceTypeT = Aws::String>
62 EC2InstanceDetails& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
64
66
69 inline const Aws::String& GetRegion() const { return m_region; }
70 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
71 template<typename RegionT = Aws::String>
72 void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward<RegionT>(value); }
73 template<typename RegionT = Aws::String>
74 EC2InstanceDetails& WithRegion(RegionT&& value) { SetRegion(std::forward<RegionT>(value)); return *this;}
76
78
81 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
82 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
83 template<typename AvailabilityZoneT = Aws::String>
84 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
85 template<typename AvailabilityZoneT = Aws::String>
86 EC2InstanceDetails& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
88
90
94 inline const Aws::String& GetPlatform() const { return m_platform; }
95 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
96 template<typename PlatformT = Aws::String>
97 void SetPlatform(PlatformT&& value) { m_platformHasBeenSet = true; m_platform = std::forward<PlatformT>(value); }
98 template<typename PlatformT = Aws::String>
99 EC2InstanceDetails& WithPlatform(PlatformT&& value) { SetPlatform(std::forward<PlatformT>(value)); return *this;}
101
103
106 inline const Aws::String& GetTenancy() const { return m_tenancy; }
107 inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; }
108 template<typename TenancyT = Aws::String>
109 void SetTenancy(TenancyT&& value) { m_tenancyHasBeenSet = true; m_tenancy = std::forward<TenancyT>(value); }
110 template<typename TenancyT = Aws::String>
111 EC2InstanceDetails& WithTenancy(TenancyT&& value) { SetTenancy(std::forward<TenancyT>(value)); return *this;}
113
115
119 inline bool GetCurrentGeneration() const { return m_currentGeneration; }
120 inline bool CurrentGenerationHasBeenSet() const { return m_currentGenerationHasBeenSet; }
121 inline void SetCurrentGeneration(bool value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = value; }
122 inline EC2InstanceDetails& WithCurrentGeneration(bool value) { SetCurrentGeneration(value); return *this;}
124
126
129 inline bool GetSizeFlexEligible() const { return m_sizeFlexEligible; }
130 inline bool SizeFlexEligibleHasBeenSet() const { return m_sizeFlexEligibleHasBeenSet; }
131 inline void SetSizeFlexEligible(bool value) { m_sizeFlexEligibleHasBeenSet = true; m_sizeFlexEligible = value; }
132 inline EC2InstanceDetails& WithSizeFlexEligible(bool value) { SetSizeFlexEligible(value); return *this;}
134 private:
135
136 Aws::String m_family;
137 bool m_familyHasBeenSet = false;
138
139 Aws::String m_instanceType;
140 bool m_instanceTypeHasBeenSet = false;
141
142 Aws::String m_region;
143 bool m_regionHasBeenSet = false;
144
145 Aws::String m_availabilityZone;
146 bool m_availabilityZoneHasBeenSet = false;
147
148 Aws::String m_platform;
149 bool m_platformHasBeenSet = false;
150
151 Aws::String m_tenancy;
152 bool m_tenancyHasBeenSet = false;
153
154 bool m_currentGeneration{false};
155 bool m_currentGenerationHasBeenSet = false;
156
157 bool m_sizeFlexEligible{false};
158 bool m_sizeFlexEligibleHasBeenSet = false;
159 };
160
161} // namespace Model
162} // namespace CostExplorer
163} // namespace Aws
EC2InstanceDetails & WithTenancy(TenancyT &&value)
EC2InstanceDetails & WithRegion(RegionT &&value)
EC2InstanceDetails & WithFamily(FamilyT &&value)
AWS_COSTEXPLORER_API EC2InstanceDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetAvailabilityZone(AvailabilityZoneT &&value)
EC2InstanceDetails & WithAvailabilityZone(AvailabilityZoneT &&value)
EC2InstanceDetails & WithCurrentGeneration(bool value)
AWS_COSTEXPLORER_API EC2InstanceDetails(Aws::Utils::Json::JsonView jsonValue)
EC2InstanceDetails & WithSizeFlexEligible(bool value)
EC2InstanceDetails & WithInstanceType(InstanceTypeT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTEXPLORER_API EC2InstanceDetails()=default
EC2InstanceDetails & WithPlatform(PlatformT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue