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/mediaconnect/MediaConnect_EXPORTS.h> 8 #include <aws/mediaconnect/model/ResourceType.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace MediaConnect 22 { 23 namespace Model 24 { 25 26 /** 27 * A definition of what is being billed for, including the type and 28 * amount.<p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ResourceSpecification">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_MEDIACONNECT_API ResourceSpecification 33 { 34 public: 35 ResourceSpecification(); 36 ResourceSpecification(Aws::Utils::Json::JsonView jsonValue); 37 ResourceSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * The amount of outbound bandwidth that is discounted in the offering. 43 */ GetReservedBitrate()44 inline int GetReservedBitrate() const{ return m_reservedBitrate; } 45 46 /** 47 * The amount of outbound bandwidth that is discounted in the offering. 48 */ ReservedBitrateHasBeenSet()49 inline bool ReservedBitrateHasBeenSet() const { return m_reservedBitrateHasBeenSet; } 50 51 /** 52 * The amount of outbound bandwidth that is discounted in the offering. 53 */ SetReservedBitrate(int value)54 inline void SetReservedBitrate(int value) { m_reservedBitrateHasBeenSet = true; m_reservedBitrate = value; } 55 56 /** 57 * The amount of outbound bandwidth that is discounted in the offering. 58 */ WithReservedBitrate(int value)59 inline ResourceSpecification& WithReservedBitrate(int value) { SetReservedBitrate(value); return *this;} 60 61 62 /** 63 * The type of resource and the unit that is being billed for. 64 */ GetResourceType()65 inline const ResourceType& GetResourceType() const{ return m_resourceType; } 66 67 /** 68 * The type of resource and the unit that is being billed for. 69 */ ResourceTypeHasBeenSet()70 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } 71 72 /** 73 * The type of resource and the unit that is being billed for. 74 */ SetResourceType(const ResourceType & value)75 inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } 76 77 /** 78 * The type of resource and the unit that is being billed for. 79 */ SetResourceType(ResourceType && value)80 inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } 81 82 /** 83 * The type of resource and the unit that is being billed for. 84 */ WithResourceType(const ResourceType & value)85 inline ResourceSpecification& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} 86 87 /** 88 * The type of resource and the unit that is being billed for. 89 */ WithResourceType(ResourceType && value)90 inline ResourceSpecification& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} 91 92 private: 93 94 int m_reservedBitrate; 95 bool m_reservedBitrateHasBeenSet; 96 97 ResourceType m_resourceType; 98 bool m_resourceTypeHasBeenSet; 99 }; 100 101 } // namespace Model 102 } // namespace MediaConnect 103 } // namespace Aws 104