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/kinesis-video-media/KinesisVideoMedia_EXPORTS.h> 8 #include <aws/kinesis-video-media/KinesisVideoMediaRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/kinesis-video-media/model/StartSelector.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace KinesisVideoMedia 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_KINESISVIDEOMEDIA_API GetMediaRequest : public KinesisVideoMediaRequest 23 { 24 public: 25 GetMediaRequest(); 26 27 // Service request name is the Operation name which will send this request out, 28 // each operation should has unique request name, so that we can get operation's name from this request. 29 // Note: this is not true for response, multiple operations may have the same response name, 30 // so we can not get operation's name from response. GetServiceRequestName()31 inline virtual const char* GetServiceRequestName() const override { return "GetMedia"; } 32 33 Aws::String SerializePayload() const override; 34 35 36 /** 37 * <p>The Kinesis video stream name from where you want to get the media content. 38 * If you don't specify the <code>streamName</code>, you must specify the 39 * <code>streamARN</code>.</p> 40 */ GetStreamName()41 inline const Aws::String& GetStreamName() const{ return m_streamName; } 42 43 /** 44 * <p>The Kinesis video stream name from where you want to get the media content. 45 * If you don't specify the <code>streamName</code>, you must specify the 46 * <code>streamARN</code>.</p> 47 */ StreamNameHasBeenSet()48 inline bool StreamNameHasBeenSet() const { return m_streamNameHasBeenSet; } 49 50 /** 51 * <p>The Kinesis video stream name from where you want to get the media content. 52 * If you don't specify the <code>streamName</code>, you must specify the 53 * <code>streamARN</code>.</p> 54 */ SetStreamName(const Aws::String & value)55 inline void SetStreamName(const Aws::String& value) { m_streamNameHasBeenSet = true; m_streamName = value; } 56 57 /** 58 * <p>The Kinesis video stream name from where you want to get the media content. 59 * If you don't specify the <code>streamName</code>, you must specify the 60 * <code>streamARN</code>.</p> 61 */ SetStreamName(Aws::String && value)62 inline void SetStreamName(Aws::String&& value) { m_streamNameHasBeenSet = true; m_streamName = std::move(value); } 63 64 /** 65 * <p>The Kinesis video stream name from where you want to get the media content. 66 * If you don't specify the <code>streamName</code>, you must specify the 67 * <code>streamARN</code>.</p> 68 */ SetStreamName(const char * value)69 inline void SetStreamName(const char* value) { m_streamNameHasBeenSet = true; m_streamName.assign(value); } 70 71 /** 72 * <p>The Kinesis video stream name from where you want to get the media content. 73 * If you don't specify the <code>streamName</code>, you must specify the 74 * <code>streamARN</code>.</p> 75 */ WithStreamName(const Aws::String & value)76 inline GetMediaRequest& WithStreamName(const Aws::String& value) { SetStreamName(value); return *this;} 77 78 /** 79 * <p>The Kinesis video stream name from where you want to get the media content. 80 * If you don't specify the <code>streamName</code>, you must specify the 81 * <code>streamARN</code>.</p> 82 */ WithStreamName(Aws::String && value)83 inline GetMediaRequest& WithStreamName(Aws::String&& value) { SetStreamName(std::move(value)); return *this;} 84 85 /** 86 * <p>The Kinesis video stream name from where you want to get the media content. 87 * If you don't specify the <code>streamName</code>, you must specify the 88 * <code>streamARN</code>.</p> 89 */ WithStreamName(const char * value)90 inline GetMediaRequest& WithStreamName(const char* value) { SetStreamName(value); return *this;} 91 92 93 /** 94 * <p>The ARN of the stream from where you want to get the media content. If you 95 * don't specify the <code>streamARN</code>, you must specify the 96 * <code>streamName</code>.</p> 97 */ GetStreamARN()98 inline const Aws::String& GetStreamARN() const{ return m_streamARN; } 99 100 /** 101 * <p>The ARN of the stream from where you want to get the media content. If you 102 * don't specify the <code>streamARN</code>, you must specify the 103 * <code>streamName</code>.</p> 104 */ StreamARNHasBeenSet()105 inline bool StreamARNHasBeenSet() const { return m_streamARNHasBeenSet; } 106 107 /** 108 * <p>The ARN of the stream from where you want to get the media content. If you 109 * don't specify the <code>streamARN</code>, you must specify the 110 * <code>streamName</code>.</p> 111 */ SetStreamARN(const Aws::String & value)112 inline void SetStreamARN(const Aws::String& value) { m_streamARNHasBeenSet = true; m_streamARN = value; } 113 114 /** 115 * <p>The ARN of the stream from where you want to get the media content. If you 116 * don't specify the <code>streamARN</code>, you must specify the 117 * <code>streamName</code>.</p> 118 */ SetStreamARN(Aws::String && value)119 inline void SetStreamARN(Aws::String&& value) { m_streamARNHasBeenSet = true; m_streamARN = std::move(value); } 120 121 /** 122 * <p>The ARN of the stream from where you want to get the media content. If you 123 * don't specify the <code>streamARN</code>, you must specify the 124 * <code>streamName</code>.</p> 125 */ SetStreamARN(const char * value)126 inline void SetStreamARN(const char* value) { m_streamARNHasBeenSet = true; m_streamARN.assign(value); } 127 128 /** 129 * <p>The ARN of the stream from where you want to get the media content. If you 130 * don't specify the <code>streamARN</code>, you must specify the 131 * <code>streamName</code>.</p> 132 */ WithStreamARN(const Aws::String & value)133 inline GetMediaRequest& WithStreamARN(const Aws::String& value) { SetStreamARN(value); return *this;} 134 135 /** 136 * <p>The ARN of the stream from where you want to get the media content. If you 137 * don't specify the <code>streamARN</code>, you must specify the 138 * <code>streamName</code>.</p> 139 */ WithStreamARN(Aws::String && value)140 inline GetMediaRequest& WithStreamARN(Aws::String&& value) { SetStreamARN(std::move(value)); return *this;} 141 142 /** 143 * <p>The ARN of the stream from where you want to get the media content. If you 144 * don't specify the <code>streamARN</code>, you must specify the 145 * <code>streamName</code>.</p> 146 */ WithStreamARN(const char * value)147 inline GetMediaRequest& WithStreamARN(const char* value) { SetStreamARN(value); return *this;} 148 149 150 /** 151 * <p>Identifies the starting chunk to get from the specified stream. </p> 152 */ GetStartSelector()153 inline const StartSelector& GetStartSelector() const{ return m_startSelector; } 154 155 /** 156 * <p>Identifies the starting chunk to get from the specified stream. </p> 157 */ StartSelectorHasBeenSet()158 inline bool StartSelectorHasBeenSet() const { return m_startSelectorHasBeenSet; } 159 160 /** 161 * <p>Identifies the starting chunk to get from the specified stream. </p> 162 */ SetStartSelector(const StartSelector & value)163 inline void SetStartSelector(const StartSelector& value) { m_startSelectorHasBeenSet = true; m_startSelector = value; } 164 165 /** 166 * <p>Identifies the starting chunk to get from the specified stream. </p> 167 */ SetStartSelector(StartSelector && value)168 inline void SetStartSelector(StartSelector&& value) { m_startSelectorHasBeenSet = true; m_startSelector = std::move(value); } 169 170 /** 171 * <p>Identifies the starting chunk to get from the specified stream. </p> 172 */ WithStartSelector(const StartSelector & value)173 inline GetMediaRequest& WithStartSelector(const StartSelector& value) { SetStartSelector(value); return *this;} 174 175 /** 176 * <p>Identifies the starting chunk to get from the specified stream. </p> 177 */ WithStartSelector(StartSelector && value)178 inline GetMediaRequest& WithStartSelector(StartSelector&& value) { SetStartSelector(std::move(value)); return *this;} 179 180 private: 181 182 Aws::String m_streamName; 183 bool m_streamNameHasBeenSet; 184 185 Aws::String m_streamARN; 186 bool m_streamARNHasBeenSet; 187 188 StartSelector m_startSelector; 189 bool m_startSelectorHasBeenSet; 190 }; 191 192 } // namespace Model 193 } // namespace KinesisVideoMedia 194 } // namespace Aws 195