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/medialive/MediaLive_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/medialive/model/OfferingDurationUnits.h> 10 #include <aws/medialive/model/OfferingType.h> 11 #include <aws/medialive/model/ReservationResourceSpecification.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 template<typename RESULT_TYPE> 17 class AmazonWebServiceResult; 18 19 namespace Utils 20 { 21 namespace Json 22 { 23 class JsonValue; 24 } // namespace Json 25 } // namespace Utils 26 namespace MediaLive 27 { 28 namespace Model 29 { 30 /** 31 * Placeholder documentation for DescribeOfferingResponse<p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOfferingResponse">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_MEDIALIVE_API DescribeOfferingResult 36 { 37 public: 38 DescribeOfferingResult(); 39 DescribeOfferingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 40 DescribeOfferingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 41 42 43 /** 44 * Unique offering ARN, e.g. 45 * 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' 46 */ GetArn()47 inline const Aws::String& GetArn() const{ return m_arn; } 48 49 /** 50 * Unique offering ARN, e.g. 51 * 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' 52 */ SetArn(const Aws::String & value)53 inline void SetArn(const Aws::String& value) { m_arn = value; } 54 55 /** 56 * Unique offering ARN, e.g. 57 * 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' 58 */ SetArn(Aws::String && value)59 inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } 60 61 /** 62 * Unique offering ARN, e.g. 63 * 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' 64 */ SetArn(const char * value)65 inline void SetArn(const char* value) { m_arn.assign(value); } 66 67 /** 68 * Unique offering ARN, e.g. 69 * 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' 70 */ WithArn(const Aws::String & value)71 inline DescribeOfferingResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} 72 73 /** 74 * Unique offering ARN, e.g. 75 * 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' 76 */ WithArn(Aws::String && value)77 inline DescribeOfferingResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 78 79 /** 80 * Unique offering ARN, e.g. 81 * 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' 82 */ WithArn(const char * value)83 inline DescribeOfferingResult& WithArn(const char* value) { SetArn(value); return *this;} 84 85 86 /** 87 * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' 88 */ GetCurrencyCode()89 inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; } 90 91 /** 92 * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' 93 */ SetCurrencyCode(const Aws::String & value)94 inline void SetCurrencyCode(const Aws::String& value) { m_currencyCode = value; } 95 96 /** 97 * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' 98 */ SetCurrencyCode(Aws::String && value)99 inline void SetCurrencyCode(Aws::String&& value) { m_currencyCode = std::move(value); } 100 101 /** 102 * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' 103 */ SetCurrencyCode(const char * value)104 inline void SetCurrencyCode(const char* value) { m_currencyCode.assign(value); } 105 106 /** 107 * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' 108 */ WithCurrencyCode(const Aws::String & value)109 inline DescribeOfferingResult& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;} 110 111 /** 112 * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' 113 */ WithCurrencyCode(Aws::String && value)114 inline DescribeOfferingResult& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;} 115 116 /** 117 * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' 118 */ WithCurrencyCode(const char * value)119 inline DescribeOfferingResult& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;} 120 121 122 /** 123 * Lease duration, e.g. '12' 124 */ GetDuration()125 inline int GetDuration() const{ return m_duration; } 126 127 /** 128 * Lease duration, e.g. '12' 129 */ SetDuration(int value)130 inline void SetDuration(int value) { m_duration = value; } 131 132 /** 133 * Lease duration, e.g. '12' 134 */ WithDuration(int value)135 inline DescribeOfferingResult& WithDuration(int value) { SetDuration(value); return *this;} 136 137 138 /** 139 * Units for duration, e.g. 'MONTHS' 140 */ GetDurationUnits()141 inline const OfferingDurationUnits& GetDurationUnits() const{ return m_durationUnits; } 142 143 /** 144 * Units for duration, e.g. 'MONTHS' 145 */ SetDurationUnits(const OfferingDurationUnits & value)146 inline void SetDurationUnits(const OfferingDurationUnits& value) { m_durationUnits = value; } 147 148 /** 149 * Units for duration, e.g. 'MONTHS' 150 */ SetDurationUnits(OfferingDurationUnits && value)151 inline void SetDurationUnits(OfferingDurationUnits&& value) { m_durationUnits = std::move(value); } 152 153 /** 154 * Units for duration, e.g. 'MONTHS' 155 */ WithDurationUnits(const OfferingDurationUnits & value)156 inline DescribeOfferingResult& WithDurationUnits(const OfferingDurationUnits& value) { SetDurationUnits(value); return *this;} 157 158 /** 159 * Units for duration, e.g. 'MONTHS' 160 */ WithDurationUnits(OfferingDurationUnits && value)161 inline DescribeOfferingResult& WithDurationUnits(OfferingDurationUnits&& value) { SetDurationUnits(std::move(value)); return *this;} 162 163 164 /** 165 * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering 166 */ GetFixedPrice()167 inline double GetFixedPrice() const{ return m_fixedPrice; } 168 169 /** 170 * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering 171 */ SetFixedPrice(double value)172 inline void SetFixedPrice(double value) { m_fixedPrice = value; } 173 174 /** 175 * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering 176 */ WithFixedPrice(double value)177 inline DescribeOfferingResult& WithFixedPrice(double value) { SetFixedPrice(value); return *this;} 178 179 180 /** 181 * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ 182 * in US West (Oregon)' 183 */ GetOfferingDescription()184 inline const Aws::String& GetOfferingDescription() const{ return m_offeringDescription; } 185 186 /** 187 * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ 188 * in US West (Oregon)' 189 */ SetOfferingDescription(const Aws::String & value)190 inline void SetOfferingDescription(const Aws::String& value) { m_offeringDescription = value; } 191 192 /** 193 * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ 194 * in US West (Oregon)' 195 */ SetOfferingDescription(Aws::String && value)196 inline void SetOfferingDescription(Aws::String&& value) { m_offeringDescription = std::move(value); } 197 198 /** 199 * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ 200 * in US West (Oregon)' 201 */ SetOfferingDescription(const char * value)202 inline void SetOfferingDescription(const char* value) { m_offeringDescription.assign(value); } 203 204 /** 205 * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ 206 * in US West (Oregon)' 207 */ WithOfferingDescription(const Aws::String & value)208 inline DescribeOfferingResult& WithOfferingDescription(const Aws::String& value) { SetOfferingDescription(value); return *this;} 209 210 /** 211 * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ 212 * in US West (Oregon)' 213 */ WithOfferingDescription(Aws::String && value)214 inline DescribeOfferingResult& WithOfferingDescription(Aws::String&& value) { SetOfferingDescription(std::move(value)); return *this;} 215 216 /** 217 * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ 218 * in US West (Oregon)' 219 */ WithOfferingDescription(const char * value)220 inline DescribeOfferingResult& WithOfferingDescription(const char* value) { SetOfferingDescription(value); return *this;} 221 222 223 /** 224 * Unique offering ID, e.g. '87654321' 225 */ GetOfferingId()226 inline const Aws::String& GetOfferingId() const{ return m_offeringId; } 227 228 /** 229 * Unique offering ID, e.g. '87654321' 230 */ SetOfferingId(const Aws::String & value)231 inline void SetOfferingId(const Aws::String& value) { m_offeringId = value; } 232 233 /** 234 * Unique offering ID, e.g. '87654321' 235 */ SetOfferingId(Aws::String && value)236 inline void SetOfferingId(Aws::String&& value) { m_offeringId = std::move(value); } 237 238 /** 239 * Unique offering ID, e.g. '87654321' 240 */ SetOfferingId(const char * value)241 inline void SetOfferingId(const char* value) { m_offeringId.assign(value); } 242 243 /** 244 * Unique offering ID, e.g. '87654321' 245 */ WithOfferingId(const Aws::String & value)246 inline DescribeOfferingResult& WithOfferingId(const Aws::String& value) { SetOfferingId(value); return *this;} 247 248 /** 249 * Unique offering ID, e.g. '87654321' 250 */ WithOfferingId(Aws::String && value)251 inline DescribeOfferingResult& WithOfferingId(Aws::String&& value) { SetOfferingId(std::move(value)); return *this;} 252 253 /** 254 * Unique offering ID, e.g. '87654321' 255 */ WithOfferingId(const char * value)256 inline DescribeOfferingResult& WithOfferingId(const char* value) { SetOfferingId(value); return *this;} 257 258 259 /** 260 * Offering type, e.g. 'NO_UPFRONT' 261 */ GetOfferingType()262 inline const OfferingType& GetOfferingType() const{ return m_offeringType; } 263 264 /** 265 * Offering type, e.g. 'NO_UPFRONT' 266 */ SetOfferingType(const OfferingType & value)267 inline void SetOfferingType(const OfferingType& value) { m_offeringType = value; } 268 269 /** 270 * Offering type, e.g. 'NO_UPFRONT' 271 */ SetOfferingType(OfferingType && value)272 inline void SetOfferingType(OfferingType&& value) { m_offeringType = std::move(value); } 273 274 /** 275 * Offering type, e.g. 'NO_UPFRONT' 276 */ WithOfferingType(const OfferingType & value)277 inline DescribeOfferingResult& WithOfferingType(const OfferingType& value) { SetOfferingType(value); return *this;} 278 279 /** 280 * Offering type, e.g. 'NO_UPFRONT' 281 */ WithOfferingType(OfferingType && value)282 inline DescribeOfferingResult& WithOfferingType(OfferingType&& value) { SetOfferingType(std::move(value)); return *this;} 283 284 285 /** 286 * AWS region, e.g. 'us-west-2' 287 */ GetRegion()288 inline const Aws::String& GetRegion() const{ return m_region; } 289 290 /** 291 * AWS region, e.g. 'us-west-2' 292 */ SetRegion(const Aws::String & value)293 inline void SetRegion(const Aws::String& value) { m_region = value; } 294 295 /** 296 * AWS region, e.g. 'us-west-2' 297 */ SetRegion(Aws::String && value)298 inline void SetRegion(Aws::String&& value) { m_region = std::move(value); } 299 300 /** 301 * AWS region, e.g. 'us-west-2' 302 */ SetRegion(const char * value)303 inline void SetRegion(const char* value) { m_region.assign(value); } 304 305 /** 306 * AWS region, e.g. 'us-west-2' 307 */ WithRegion(const Aws::String & value)308 inline DescribeOfferingResult& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} 309 310 /** 311 * AWS region, e.g. 'us-west-2' 312 */ WithRegion(Aws::String && value)313 inline DescribeOfferingResult& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} 314 315 /** 316 * AWS region, e.g. 'us-west-2' 317 */ WithRegion(const char * value)318 inline DescribeOfferingResult& WithRegion(const char* value) { SetRegion(value); return *this;} 319 320 321 /** 322 * Resource configuration details 323 */ GetResourceSpecification()324 inline const ReservationResourceSpecification& GetResourceSpecification() const{ return m_resourceSpecification; } 325 326 /** 327 * Resource configuration details 328 */ SetResourceSpecification(const ReservationResourceSpecification & value)329 inline void SetResourceSpecification(const ReservationResourceSpecification& value) { m_resourceSpecification = value; } 330 331 /** 332 * Resource configuration details 333 */ SetResourceSpecification(ReservationResourceSpecification && value)334 inline void SetResourceSpecification(ReservationResourceSpecification&& value) { m_resourceSpecification = std::move(value); } 335 336 /** 337 * Resource configuration details 338 */ WithResourceSpecification(const ReservationResourceSpecification & value)339 inline DescribeOfferingResult& WithResourceSpecification(const ReservationResourceSpecification& value) { SetResourceSpecification(value); return *this;} 340 341 /** 342 * Resource configuration details 343 */ WithResourceSpecification(ReservationResourceSpecification && value)344 inline DescribeOfferingResult& WithResourceSpecification(ReservationResourceSpecification&& value) { SetResourceSpecification(std::move(value)); return *this;} 345 346 347 /** 348 * Recurring usage charge for each reserved resource, e.g. '157.0' 349 */ GetUsagePrice()350 inline double GetUsagePrice() const{ return m_usagePrice; } 351 352 /** 353 * Recurring usage charge for each reserved resource, e.g. '157.0' 354 */ SetUsagePrice(double value)355 inline void SetUsagePrice(double value) { m_usagePrice = value; } 356 357 /** 358 * Recurring usage charge for each reserved resource, e.g. '157.0' 359 */ WithUsagePrice(double value)360 inline DescribeOfferingResult& WithUsagePrice(double value) { SetUsagePrice(value); return *this;} 361 362 private: 363 364 Aws::String m_arn; 365 366 Aws::String m_currencyCode; 367 368 int m_duration; 369 370 OfferingDurationUnits m_durationUnits; 371 372 double m_fixedPrice; 373 374 Aws::String m_offeringDescription; 375 376 Aws::String m_offeringId; 377 378 OfferingType m_offeringType; 379 380 Aws::String m_region; 381 382 ReservationResourceSpecification m_resourceSpecification; 383 384 double m_usagePrice; 385 }; 386 387 } // namespace Model 388 } // namespace MediaLive 389 } // namespace Aws 390