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/medialive/MediaLiveRequest.h> 9 #include <aws/medialive/model/ChannelClass.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/medialive/model/OutputDestination.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace MediaLive 18 { 19 namespace Model 20 { 21 22 /** 23 * Channel class that the channel should be updated to.<p><h3>See Also:</h3> <a 24 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClassRequest">AWS 25 * API Reference</a></p> 26 */ 27 class AWS_MEDIALIVE_API UpdateChannelClassRequest : public MediaLiveRequest 28 { 29 public: 30 UpdateChannelClassRequest(); 31 32 // Service request name is the Operation name which will send this request out, 33 // each operation should has unique request name, so that we can get operation's name from this request. 34 // Note: this is not true for response, multiple operations may have the same response name, 35 // so we can not get operation's name from response. GetServiceRequestName()36 inline virtual const char* GetServiceRequestName() const override { return "UpdateChannelClass"; } 37 38 Aws::String SerializePayload() const override; 39 40 41 /** 42 * The channel class that you wish to update this channel to use. 43 */ GetChannelClass()44 inline const ChannelClass& GetChannelClass() const{ return m_channelClass; } 45 46 /** 47 * The channel class that you wish to update this channel to use. 48 */ ChannelClassHasBeenSet()49 inline bool ChannelClassHasBeenSet() const { return m_channelClassHasBeenSet; } 50 51 /** 52 * The channel class that you wish to update this channel to use. 53 */ SetChannelClass(const ChannelClass & value)54 inline void SetChannelClass(const ChannelClass& value) { m_channelClassHasBeenSet = true; m_channelClass = value; } 55 56 /** 57 * The channel class that you wish to update this channel to use. 58 */ SetChannelClass(ChannelClass && value)59 inline void SetChannelClass(ChannelClass&& value) { m_channelClassHasBeenSet = true; m_channelClass = std::move(value); } 60 61 /** 62 * The channel class that you wish to update this channel to use. 63 */ WithChannelClass(const ChannelClass & value)64 inline UpdateChannelClassRequest& WithChannelClass(const ChannelClass& value) { SetChannelClass(value); return *this;} 65 66 /** 67 * The channel class that you wish to update this channel to use. 68 */ WithChannelClass(ChannelClass && value)69 inline UpdateChannelClassRequest& WithChannelClass(ChannelClass&& value) { SetChannelClass(std::move(value)); return *this;} 70 71 72 /** 73 * Channel Id of the channel whose class should be updated. 74 */ GetChannelId()75 inline const Aws::String& GetChannelId() const{ return m_channelId; } 76 77 /** 78 * Channel Id of the channel whose class should be updated. 79 */ ChannelIdHasBeenSet()80 inline bool ChannelIdHasBeenSet() const { return m_channelIdHasBeenSet; } 81 82 /** 83 * Channel Id of the channel whose class should be updated. 84 */ SetChannelId(const Aws::String & value)85 inline void SetChannelId(const Aws::String& value) { m_channelIdHasBeenSet = true; m_channelId = value; } 86 87 /** 88 * Channel Id of the channel whose class should be updated. 89 */ SetChannelId(Aws::String && value)90 inline void SetChannelId(Aws::String&& value) { m_channelIdHasBeenSet = true; m_channelId = std::move(value); } 91 92 /** 93 * Channel Id of the channel whose class should be updated. 94 */ SetChannelId(const char * value)95 inline void SetChannelId(const char* value) { m_channelIdHasBeenSet = true; m_channelId.assign(value); } 96 97 /** 98 * Channel Id of the channel whose class should be updated. 99 */ WithChannelId(const Aws::String & value)100 inline UpdateChannelClassRequest& WithChannelId(const Aws::String& value) { SetChannelId(value); return *this;} 101 102 /** 103 * Channel Id of the channel whose class should be updated. 104 */ WithChannelId(Aws::String && value)105 inline UpdateChannelClassRequest& WithChannelId(Aws::String&& value) { SetChannelId(std::move(value)); return *this;} 106 107 /** 108 * Channel Id of the channel whose class should be updated. 109 */ WithChannelId(const char * value)110 inline UpdateChannelClassRequest& WithChannelId(const char* value) { SetChannelId(value); return *this;} 111 112 113 /** 114 * A list of output destinations for this channel. 115 */ GetDestinations()116 inline const Aws::Vector<OutputDestination>& GetDestinations() const{ return m_destinations; } 117 118 /** 119 * A list of output destinations for this channel. 120 */ DestinationsHasBeenSet()121 inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } 122 123 /** 124 * A list of output destinations for this channel. 125 */ SetDestinations(const Aws::Vector<OutputDestination> & value)126 inline void SetDestinations(const Aws::Vector<OutputDestination>& value) { m_destinationsHasBeenSet = true; m_destinations = value; } 127 128 /** 129 * A list of output destinations for this channel. 130 */ SetDestinations(Aws::Vector<OutputDestination> && value)131 inline void SetDestinations(Aws::Vector<OutputDestination>&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } 132 133 /** 134 * A list of output destinations for this channel. 135 */ WithDestinations(const Aws::Vector<OutputDestination> & value)136 inline UpdateChannelClassRequest& WithDestinations(const Aws::Vector<OutputDestination>& value) { SetDestinations(value); return *this;} 137 138 /** 139 * A list of output destinations for this channel. 140 */ WithDestinations(Aws::Vector<OutputDestination> && value)141 inline UpdateChannelClassRequest& WithDestinations(Aws::Vector<OutputDestination>&& value) { SetDestinations(std::move(value)); return *this;} 142 143 /** 144 * A list of output destinations for this channel. 145 */ AddDestinations(const OutputDestination & value)146 inline UpdateChannelClassRequest& AddDestinations(const OutputDestination& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } 147 148 /** 149 * A list of output destinations for this channel. 150 */ AddDestinations(OutputDestination && value)151 inline UpdateChannelClassRequest& AddDestinations(OutputDestination&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } 152 153 private: 154 155 ChannelClass m_channelClass; 156 bool m_channelClassHasBeenSet; 157 158 Aws::String m_channelId; 159 bool m_channelIdHasBeenSet; 160 161 Aws::Vector<OutputDestination> m_destinations; 162 bool m_destinationsHasBeenSet; 163 }; 164 165 } // namespace Model 166 } // namespace MediaLive 167 } // namespace Aws 168