1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ce/CostExplorer_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSMap.h> 9 #include <aws/ce/model/SavingsPlansCoverageData.h> 10 #include <aws/ce/model/DateInterval.h> 11 #include <aws/core/utils/memory/stl/AWSString.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace CostExplorer 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>The amount of Savings Plans eligible usage that is covered by Savings Plans. 31 * All calculations consider the On-Demand equivalent of your Savings Plans 32 * usage.</p><p><h3>See Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/SavingsPlansCoverage">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_COSTEXPLORER_API SavingsPlansCoverage 37 { 38 public: 39 SavingsPlansCoverage(); 40 SavingsPlansCoverage(Aws::Utils::Json::JsonView jsonValue); 41 SavingsPlansCoverage& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 47 */ GetAttributes()48 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const{ return m_attributes; } 49 50 /** 51 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 52 */ AttributesHasBeenSet()53 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } 54 55 /** 56 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 57 */ SetAttributes(const Aws::Map<Aws::String,Aws::String> & value)58 inline void SetAttributes(const Aws::Map<Aws::String, Aws::String>& value) { m_attributesHasBeenSet = true; m_attributes = value; } 59 60 /** 61 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 62 */ SetAttributes(Aws::Map<Aws::String,Aws::String> && value)63 inline void SetAttributes(Aws::Map<Aws::String, Aws::String>&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } 64 65 /** 66 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 67 */ WithAttributes(const Aws::Map<Aws::String,Aws::String> & value)68 inline SavingsPlansCoverage& WithAttributes(const Aws::Map<Aws::String, Aws::String>& value) { SetAttributes(value); return *this;} 69 70 /** 71 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 72 */ WithAttributes(Aws::Map<Aws::String,Aws::String> && value)73 inline SavingsPlansCoverage& WithAttributes(Aws::Map<Aws::String, Aws::String>&& value) { SetAttributes(std::move(value)); return *this;} 74 75 /** 76 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 77 */ AddAttributes(const Aws::String & key,const Aws::String & value)78 inline SavingsPlansCoverage& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } 79 80 /** 81 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 82 */ AddAttributes(Aws::String && key,const Aws::String & value)83 inline SavingsPlansCoverage& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } 84 85 /** 86 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 87 */ AddAttributes(const Aws::String & key,Aws::String && value)88 inline SavingsPlansCoverage& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } 89 90 /** 91 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 92 */ AddAttributes(Aws::String && key,Aws::String && value)93 inline SavingsPlansCoverage& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } 94 95 /** 96 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 97 */ AddAttributes(const char * key,Aws::String && value)98 inline SavingsPlansCoverage& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } 99 100 /** 101 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 102 */ AddAttributes(Aws::String && key,const char * value)103 inline SavingsPlansCoverage& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } 104 105 /** 106 * <p>The attribute that applies to a specific <code>Dimension</code>.</p> 107 */ AddAttributes(const char * key,const char * value)108 inline SavingsPlansCoverage& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } 109 110 111 /** 112 * <p>The amount of Savings Plans eligible usage that the Savings Plans 113 * covered.</p> 114 */ GetCoverage()115 inline const SavingsPlansCoverageData& GetCoverage() const{ return m_coverage; } 116 117 /** 118 * <p>The amount of Savings Plans eligible usage that the Savings Plans 119 * covered.</p> 120 */ CoverageHasBeenSet()121 inline bool CoverageHasBeenSet() const { return m_coverageHasBeenSet; } 122 123 /** 124 * <p>The amount of Savings Plans eligible usage that the Savings Plans 125 * covered.</p> 126 */ SetCoverage(const SavingsPlansCoverageData & value)127 inline void SetCoverage(const SavingsPlansCoverageData& value) { m_coverageHasBeenSet = true; m_coverage = value; } 128 129 /** 130 * <p>The amount of Savings Plans eligible usage that the Savings Plans 131 * covered.</p> 132 */ SetCoverage(SavingsPlansCoverageData && value)133 inline void SetCoverage(SavingsPlansCoverageData&& value) { m_coverageHasBeenSet = true; m_coverage = std::move(value); } 134 135 /** 136 * <p>The amount of Savings Plans eligible usage that the Savings Plans 137 * covered.</p> 138 */ WithCoverage(const SavingsPlansCoverageData & value)139 inline SavingsPlansCoverage& WithCoverage(const SavingsPlansCoverageData& value) { SetCoverage(value); return *this;} 140 141 /** 142 * <p>The amount of Savings Plans eligible usage that the Savings Plans 143 * covered.</p> 144 */ WithCoverage(SavingsPlansCoverageData && value)145 inline SavingsPlansCoverage& WithCoverage(SavingsPlansCoverageData&& value) { SetCoverage(std::move(value)); return *this;} 146 147 148 GetTimePeriod()149 inline const DateInterval& GetTimePeriod() const{ return m_timePeriod; } 150 151 TimePeriodHasBeenSet()152 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; } 153 154 SetTimePeriod(const DateInterval & value)155 inline void SetTimePeriod(const DateInterval& value) { m_timePeriodHasBeenSet = true; m_timePeriod = value; } 156 157 SetTimePeriod(DateInterval && value)158 inline void SetTimePeriod(DateInterval&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::move(value); } 159 160 WithTimePeriod(const DateInterval & value)161 inline SavingsPlansCoverage& WithTimePeriod(const DateInterval& value) { SetTimePeriod(value); return *this;} 162 163 WithTimePeriod(DateInterval && value)164 inline SavingsPlansCoverage& WithTimePeriod(DateInterval&& value) { SetTimePeriod(std::move(value)); return *this;} 165 166 private: 167 168 Aws::Map<Aws::String, Aws::String> m_attributes; 169 bool m_attributesHasBeenSet; 170 171 SavingsPlansCoverageData m_coverage; 172 bool m_coverageHasBeenSet; 173 174 DateInterval m_timePeriod; 175 bool m_timePeriodHasBeenSet; 176 }; 177 178 } // namespace Model 179 } // namespace CostExplorer 180 } // namespace Aws 181