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/storagegateway/StorageGateway_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/storagegateway/model/BandwidthRateLimitInterval.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 template<typename RESULT_TYPE> 16 class AmazonWebServiceResult; 17 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 } // namespace Json 24 } // namespace Utils 25 namespace StorageGateway 26 { 27 namespace Model 28 { 29 class AWS_STORAGEGATEWAY_API DescribeBandwidthRateLimitScheduleResult 30 { 31 public: 32 DescribeBandwidthRateLimitScheduleResult(); 33 DescribeBandwidthRateLimitScheduleResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 34 DescribeBandwidthRateLimitScheduleResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 36 37 GetGatewayARN()38 inline const Aws::String& GetGatewayARN() const{ return m_gatewayARN; } 39 40 SetGatewayARN(const Aws::String & value)41 inline void SetGatewayARN(const Aws::String& value) { m_gatewayARN = value; } 42 43 SetGatewayARN(Aws::String && value)44 inline void SetGatewayARN(Aws::String&& value) { m_gatewayARN = std::move(value); } 45 46 SetGatewayARN(const char * value)47 inline void SetGatewayARN(const char* value) { m_gatewayARN.assign(value); } 48 49 WithGatewayARN(const Aws::String & value)50 inline DescribeBandwidthRateLimitScheduleResult& WithGatewayARN(const Aws::String& value) { SetGatewayARN(value); return *this;} 51 52 WithGatewayARN(Aws::String && value)53 inline DescribeBandwidthRateLimitScheduleResult& WithGatewayARN(Aws::String&& value) { SetGatewayARN(std::move(value)); return *this;} 54 55 WithGatewayARN(const char * value)56 inline DescribeBandwidthRateLimitScheduleResult& WithGatewayARN(const char* value) { SetGatewayARN(value); return *this;} 57 58 59 /** 60 * <p> An array that contains the bandwidth rate limit intervals for a tape or 61 * volume gateway. </p> 62 */ GetBandwidthRateLimitIntervals()63 inline const Aws::Vector<BandwidthRateLimitInterval>& GetBandwidthRateLimitIntervals() const{ return m_bandwidthRateLimitIntervals; } 64 65 /** 66 * <p> An array that contains the bandwidth rate limit intervals for a tape or 67 * volume gateway. </p> 68 */ SetBandwidthRateLimitIntervals(const Aws::Vector<BandwidthRateLimitInterval> & value)69 inline void SetBandwidthRateLimitIntervals(const Aws::Vector<BandwidthRateLimitInterval>& value) { m_bandwidthRateLimitIntervals = value; } 70 71 /** 72 * <p> An array that contains the bandwidth rate limit intervals for a tape or 73 * volume gateway. </p> 74 */ SetBandwidthRateLimitIntervals(Aws::Vector<BandwidthRateLimitInterval> && value)75 inline void SetBandwidthRateLimitIntervals(Aws::Vector<BandwidthRateLimitInterval>&& value) { m_bandwidthRateLimitIntervals = std::move(value); } 76 77 /** 78 * <p> An array that contains the bandwidth rate limit intervals for a tape or 79 * volume gateway. </p> 80 */ WithBandwidthRateLimitIntervals(const Aws::Vector<BandwidthRateLimitInterval> & value)81 inline DescribeBandwidthRateLimitScheduleResult& WithBandwidthRateLimitIntervals(const Aws::Vector<BandwidthRateLimitInterval>& value) { SetBandwidthRateLimitIntervals(value); return *this;} 82 83 /** 84 * <p> An array that contains the bandwidth rate limit intervals for a tape or 85 * volume gateway. </p> 86 */ WithBandwidthRateLimitIntervals(Aws::Vector<BandwidthRateLimitInterval> && value)87 inline DescribeBandwidthRateLimitScheduleResult& WithBandwidthRateLimitIntervals(Aws::Vector<BandwidthRateLimitInterval>&& value) { SetBandwidthRateLimitIntervals(std::move(value)); return *this;} 88 89 /** 90 * <p> An array that contains the bandwidth rate limit intervals for a tape or 91 * volume gateway. </p> 92 */ AddBandwidthRateLimitIntervals(const BandwidthRateLimitInterval & value)93 inline DescribeBandwidthRateLimitScheduleResult& AddBandwidthRateLimitIntervals(const BandwidthRateLimitInterval& value) { m_bandwidthRateLimitIntervals.push_back(value); return *this; } 94 95 /** 96 * <p> An array that contains the bandwidth rate limit intervals for a tape or 97 * volume gateway. </p> 98 */ AddBandwidthRateLimitIntervals(BandwidthRateLimitInterval && value)99 inline DescribeBandwidthRateLimitScheduleResult& AddBandwidthRateLimitIntervals(BandwidthRateLimitInterval&& value) { m_bandwidthRateLimitIntervals.push_back(std::move(value)); return *this; } 100 101 private: 102 103 Aws::String m_gatewayARN; 104 105 Aws::Vector<BandwidthRateLimitInterval> m_bandwidthRateLimitIntervals; 106 }; 107 108 } // namespace Model 109 } // namespace StorageGateway 110 } // namespace Aws 111