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/chime/Chime_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/chime/model/MediaPipelineSourceType.h> 10 #include <aws/chime/model/MediaPipelineStatus.h> 11 #include <aws/chime/model/MediaPipelineSinkType.h> 12 #include <aws/core/utils/DateTime.h> 13 #include <aws/chime/model/ChimeSdkMeetingConfiguration.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 class JsonView; 24 } // namespace Json 25 } // namespace Utils 26 namespace Chime 27 { 28 namespace Model 29 { 30 31 /** 32 * <p>A media capture pipeline object consisting of an ID, source type, source ARN, 33 * a sink type, a sink ARN, and a configuration object.</p><p><h3>See Also:</h3> 34 * <a 35 * href="http://docs.aws.amazon.com/goto/WebAPI/chime-2018-05-01/MediaCapturePipeline">AWS 36 * API Reference</a></p> 37 */ 38 class AWS_CHIME_API MediaCapturePipeline 39 { 40 public: 41 MediaCapturePipeline(); 42 MediaCapturePipeline(Aws::Utils::Json::JsonView jsonValue); 43 MediaCapturePipeline& operator=(Aws::Utils::Json::JsonView jsonValue); 44 Aws::Utils::Json::JsonValue Jsonize() const; 45 46 47 /** 48 * <p>The ID of a media capture pipeline.</p> 49 */ GetMediaPipelineId()50 inline const Aws::String& GetMediaPipelineId() const{ return m_mediaPipelineId; } 51 52 /** 53 * <p>The ID of a media capture pipeline.</p> 54 */ MediaPipelineIdHasBeenSet()55 inline bool MediaPipelineIdHasBeenSet() const { return m_mediaPipelineIdHasBeenSet; } 56 57 /** 58 * <p>The ID of a media capture pipeline.</p> 59 */ SetMediaPipelineId(const Aws::String & value)60 inline void SetMediaPipelineId(const Aws::String& value) { m_mediaPipelineIdHasBeenSet = true; m_mediaPipelineId = value; } 61 62 /** 63 * <p>The ID of a media capture pipeline.</p> 64 */ SetMediaPipelineId(Aws::String && value)65 inline void SetMediaPipelineId(Aws::String&& value) { m_mediaPipelineIdHasBeenSet = true; m_mediaPipelineId = std::move(value); } 66 67 /** 68 * <p>The ID of a media capture pipeline.</p> 69 */ SetMediaPipelineId(const char * value)70 inline void SetMediaPipelineId(const char* value) { m_mediaPipelineIdHasBeenSet = true; m_mediaPipelineId.assign(value); } 71 72 /** 73 * <p>The ID of a media capture pipeline.</p> 74 */ WithMediaPipelineId(const Aws::String & value)75 inline MediaCapturePipeline& WithMediaPipelineId(const Aws::String& value) { SetMediaPipelineId(value); return *this;} 76 77 /** 78 * <p>The ID of a media capture pipeline.</p> 79 */ WithMediaPipelineId(Aws::String && value)80 inline MediaCapturePipeline& WithMediaPipelineId(Aws::String&& value) { SetMediaPipelineId(std::move(value)); return *this;} 81 82 /** 83 * <p>The ID of a media capture pipeline.</p> 84 */ WithMediaPipelineId(const char * value)85 inline MediaCapturePipeline& WithMediaPipelineId(const char* value) { SetMediaPipelineId(value); return *this;} 86 87 88 /** 89 * <p>Source type from which media artifacts are saved. You must use 90 * <code>ChimeMeeting</code>.</p> 91 */ GetSourceType()92 inline const MediaPipelineSourceType& GetSourceType() const{ return m_sourceType; } 93 94 /** 95 * <p>Source type from which media artifacts are saved. You must use 96 * <code>ChimeMeeting</code>.</p> 97 */ SourceTypeHasBeenSet()98 inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } 99 100 /** 101 * <p>Source type from which media artifacts are saved. You must use 102 * <code>ChimeMeeting</code>.</p> 103 */ SetSourceType(const MediaPipelineSourceType & value)104 inline void SetSourceType(const MediaPipelineSourceType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } 105 106 /** 107 * <p>Source type from which media artifacts are saved. You must use 108 * <code>ChimeMeeting</code>.</p> 109 */ SetSourceType(MediaPipelineSourceType && value)110 inline void SetSourceType(MediaPipelineSourceType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } 111 112 /** 113 * <p>Source type from which media artifacts are saved. You must use 114 * <code>ChimeMeeting</code>.</p> 115 */ WithSourceType(const MediaPipelineSourceType & value)116 inline MediaCapturePipeline& WithSourceType(const MediaPipelineSourceType& value) { SetSourceType(value); return *this;} 117 118 /** 119 * <p>Source type from which media artifacts are saved. You must use 120 * <code>ChimeMeeting</code>.</p> 121 */ WithSourceType(MediaPipelineSourceType && value)122 inline MediaCapturePipeline& WithSourceType(MediaPipelineSourceType&& value) { SetSourceType(std::move(value)); return *this;} 123 124 125 /** 126 * <p>ARN of the source from which the media artifacts will be saved.</p> 127 */ GetSourceArn()128 inline const Aws::String& GetSourceArn() const{ return m_sourceArn; } 129 130 /** 131 * <p>ARN of the source from which the media artifacts will be saved.</p> 132 */ SourceArnHasBeenSet()133 inline bool SourceArnHasBeenSet() const { return m_sourceArnHasBeenSet; } 134 135 /** 136 * <p>ARN of the source from which the media artifacts will be saved.</p> 137 */ SetSourceArn(const Aws::String & value)138 inline void SetSourceArn(const Aws::String& value) { m_sourceArnHasBeenSet = true; m_sourceArn = value; } 139 140 /** 141 * <p>ARN of the source from which the media artifacts will be saved.</p> 142 */ SetSourceArn(Aws::String && value)143 inline void SetSourceArn(Aws::String&& value) { m_sourceArnHasBeenSet = true; m_sourceArn = std::move(value); } 144 145 /** 146 * <p>ARN of the source from which the media artifacts will be saved.</p> 147 */ SetSourceArn(const char * value)148 inline void SetSourceArn(const char* value) { m_sourceArnHasBeenSet = true; m_sourceArn.assign(value); } 149 150 /** 151 * <p>ARN of the source from which the media artifacts will be saved.</p> 152 */ WithSourceArn(const Aws::String & value)153 inline MediaCapturePipeline& WithSourceArn(const Aws::String& value) { SetSourceArn(value); return *this;} 154 155 /** 156 * <p>ARN of the source from which the media artifacts will be saved.</p> 157 */ WithSourceArn(Aws::String && value)158 inline MediaCapturePipeline& WithSourceArn(Aws::String&& value) { SetSourceArn(std::move(value)); return *this;} 159 160 /** 161 * <p>ARN of the source from which the media artifacts will be saved.</p> 162 */ WithSourceArn(const char * value)163 inline MediaCapturePipeline& WithSourceArn(const char* value) { SetSourceArn(value); return *this;} 164 165 166 /** 167 * <p>The status of the media capture pipeline.</p> 168 */ GetStatus()169 inline const MediaPipelineStatus& GetStatus() const{ return m_status; } 170 171 /** 172 * <p>The status of the media capture pipeline.</p> 173 */ StatusHasBeenSet()174 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } 175 176 /** 177 * <p>The status of the media capture pipeline.</p> 178 */ SetStatus(const MediaPipelineStatus & value)179 inline void SetStatus(const MediaPipelineStatus& value) { m_statusHasBeenSet = true; m_status = value; } 180 181 /** 182 * <p>The status of the media capture pipeline.</p> 183 */ SetStatus(MediaPipelineStatus && value)184 inline void SetStatus(MediaPipelineStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } 185 186 /** 187 * <p>The status of the media capture pipeline.</p> 188 */ WithStatus(const MediaPipelineStatus & value)189 inline MediaCapturePipeline& WithStatus(const MediaPipelineStatus& value) { SetStatus(value); return *this;} 190 191 /** 192 * <p>The status of the media capture pipeline.</p> 193 */ WithStatus(MediaPipelineStatus && value)194 inline MediaCapturePipeline& WithStatus(MediaPipelineStatus&& value) { SetStatus(std::move(value)); return *this;} 195 196 197 /** 198 * <p>Destination type to which the media artifacts are saved. You must use an S3 199 * Bucket.</p> 200 */ GetSinkType()201 inline const MediaPipelineSinkType& GetSinkType() const{ return m_sinkType; } 202 203 /** 204 * <p>Destination type to which the media artifacts are saved. You must use an S3 205 * Bucket.</p> 206 */ SinkTypeHasBeenSet()207 inline bool SinkTypeHasBeenSet() const { return m_sinkTypeHasBeenSet; } 208 209 /** 210 * <p>Destination type to which the media artifacts are saved. You must use an S3 211 * Bucket.</p> 212 */ SetSinkType(const MediaPipelineSinkType & value)213 inline void SetSinkType(const MediaPipelineSinkType& value) { m_sinkTypeHasBeenSet = true; m_sinkType = value; } 214 215 /** 216 * <p>Destination type to which the media artifacts are saved. You must use an S3 217 * Bucket.</p> 218 */ SetSinkType(MediaPipelineSinkType && value)219 inline void SetSinkType(MediaPipelineSinkType&& value) { m_sinkTypeHasBeenSet = true; m_sinkType = std::move(value); } 220 221 /** 222 * <p>Destination type to which the media artifacts are saved. You must use an S3 223 * Bucket.</p> 224 */ WithSinkType(const MediaPipelineSinkType & value)225 inline MediaCapturePipeline& WithSinkType(const MediaPipelineSinkType& value) { SetSinkType(value); return *this;} 226 227 /** 228 * <p>Destination type to which the media artifacts are saved. You must use an S3 229 * Bucket.</p> 230 */ WithSinkType(MediaPipelineSinkType && value)231 inline MediaCapturePipeline& WithSinkType(MediaPipelineSinkType&& value) { SetSinkType(std::move(value)); return *this;} 232 233 234 /** 235 * <p>ARN of the destination to which the media artifacts are saved.</p> 236 */ GetSinkArn()237 inline const Aws::String& GetSinkArn() const{ return m_sinkArn; } 238 239 /** 240 * <p>ARN of the destination to which the media artifacts are saved.</p> 241 */ SinkArnHasBeenSet()242 inline bool SinkArnHasBeenSet() const { return m_sinkArnHasBeenSet; } 243 244 /** 245 * <p>ARN of the destination to which the media artifacts are saved.</p> 246 */ SetSinkArn(const Aws::String & value)247 inline void SetSinkArn(const Aws::String& value) { m_sinkArnHasBeenSet = true; m_sinkArn = value; } 248 249 /** 250 * <p>ARN of the destination to which the media artifacts are saved.</p> 251 */ SetSinkArn(Aws::String && value)252 inline void SetSinkArn(Aws::String&& value) { m_sinkArnHasBeenSet = true; m_sinkArn = std::move(value); } 253 254 /** 255 * <p>ARN of the destination to which the media artifacts are saved.</p> 256 */ SetSinkArn(const char * value)257 inline void SetSinkArn(const char* value) { m_sinkArnHasBeenSet = true; m_sinkArn.assign(value); } 258 259 /** 260 * <p>ARN of the destination to which the media artifacts are saved.</p> 261 */ WithSinkArn(const Aws::String & value)262 inline MediaCapturePipeline& WithSinkArn(const Aws::String& value) { SetSinkArn(value); return *this;} 263 264 /** 265 * <p>ARN of the destination to which the media artifacts are saved.</p> 266 */ WithSinkArn(Aws::String && value)267 inline MediaCapturePipeline& WithSinkArn(Aws::String&& value) { SetSinkArn(std::move(value)); return *this;} 268 269 /** 270 * <p>ARN of the destination to which the media artifacts are saved.</p> 271 */ WithSinkArn(const char * value)272 inline MediaCapturePipeline& WithSinkArn(const char* value) { SetSinkArn(value); return *this;} 273 274 275 /** 276 * <p>The time at which the capture pipeline was created, in ISO 8601 format.</p> 277 */ GetCreatedTimestamp()278 inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } 279 280 /** 281 * <p>The time at which the capture pipeline was created, in ISO 8601 format.</p> 282 */ CreatedTimestampHasBeenSet()283 inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } 284 285 /** 286 * <p>The time at which the capture pipeline was created, in ISO 8601 format.</p> 287 */ SetCreatedTimestamp(const Aws::Utils::DateTime & value)288 inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } 289 290 /** 291 * <p>The time at which the capture pipeline was created, in ISO 8601 format.</p> 292 */ SetCreatedTimestamp(Aws::Utils::DateTime && value)293 inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } 294 295 /** 296 * <p>The time at which the capture pipeline was created, in ISO 8601 format.</p> 297 */ WithCreatedTimestamp(const Aws::Utils::DateTime & value)298 inline MediaCapturePipeline& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} 299 300 /** 301 * <p>The time at which the capture pipeline was created, in ISO 8601 format.</p> 302 */ WithCreatedTimestamp(Aws::Utils::DateTime && value)303 inline MediaCapturePipeline& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} 304 305 306 /** 307 * <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p> 308 */ GetUpdatedTimestamp()309 inline const Aws::Utils::DateTime& GetUpdatedTimestamp() const{ return m_updatedTimestamp; } 310 311 /** 312 * <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p> 313 */ UpdatedTimestampHasBeenSet()314 inline bool UpdatedTimestampHasBeenSet() const { return m_updatedTimestampHasBeenSet; } 315 316 /** 317 * <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p> 318 */ SetUpdatedTimestamp(const Aws::Utils::DateTime & value)319 inline void SetUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_updatedTimestampHasBeenSet = true; m_updatedTimestamp = value; } 320 321 /** 322 * <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p> 323 */ SetUpdatedTimestamp(Aws::Utils::DateTime && value)324 inline void SetUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_updatedTimestampHasBeenSet = true; m_updatedTimestamp = std::move(value); } 325 326 /** 327 * <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p> 328 */ WithUpdatedTimestamp(const Aws::Utils::DateTime & value)329 inline MediaCapturePipeline& WithUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetUpdatedTimestamp(value); return *this;} 330 331 /** 332 * <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p> 333 */ WithUpdatedTimestamp(Aws::Utils::DateTime && value)334 inline MediaCapturePipeline& WithUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetUpdatedTimestamp(std::move(value)); return *this;} 335 336 337 /** 338 * <p>The configuration for a specified media capture pipeline. 339 * <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p> 340 */ GetChimeSdkMeetingConfiguration()341 inline const ChimeSdkMeetingConfiguration& GetChimeSdkMeetingConfiguration() const{ return m_chimeSdkMeetingConfiguration; } 342 343 /** 344 * <p>The configuration for a specified media capture pipeline. 345 * <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p> 346 */ ChimeSdkMeetingConfigurationHasBeenSet()347 inline bool ChimeSdkMeetingConfigurationHasBeenSet() const { return m_chimeSdkMeetingConfigurationHasBeenSet; } 348 349 /** 350 * <p>The configuration for a specified media capture pipeline. 351 * <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p> 352 */ SetChimeSdkMeetingConfiguration(const ChimeSdkMeetingConfiguration & value)353 inline void SetChimeSdkMeetingConfiguration(const ChimeSdkMeetingConfiguration& value) { m_chimeSdkMeetingConfigurationHasBeenSet = true; m_chimeSdkMeetingConfiguration = value; } 354 355 /** 356 * <p>The configuration for a specified media capture pipeline. 357 * <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p> 358 */ SetChimeSdkMeetingConfiguration(ChimeSdkMeetingConfiguration && value)359 inline void SetChimeSdkMeetingConfiguration(ChimeSdkMeetingConfiguration&& value) { m_chimeSdkMeetingConfigurationHasBeenSet = true; m_chimeSdkMeetingConfiguration = std::move(value); } 360 361 /** 362 * <p>The configuration for a specified media capture pipeline. 363 * <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p> 364 */ WithChimeSdkMeetingConfiguration(const ChimeSdkMeetingConfiguration & value)365 inline MediaCapturePipeline& WithChimeSdkMeetingConfiguration(const ChimeSdkMeetingConfiguration& value) { SetChimeSdkMeetingConfiguration(value); return *this;} 366 367 /** 368 * <p>The configuration for a specified media capture pipeline. 369 * <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p> 370 */ WithChimeSdkMeetingConfiguration(ChimeSdkMeetingConfiguration && value)371 inline MediaCapturePipeline& WithChimeSdkMeetingConfiguration(ChimeSdkMeetingConfiguration&& value) { SetChimeSdkMeetingConfiguration(std::move(value)); return *this;} 372 373 private: 374 375 Aws::String m_mediaPipelineId; 376 bool m_mediaPipelineIdHasBeenSet; 377 378 MediaPipelineSourceType m_sourceType; 379 bool m_sourceTypeHasBeenSet; 380 381 Aws::String m_sourceArn; 382 bool m_sourceArnHasBeenSet; 383 384 MediaPipelineStatus m_status; 385 bool m_statusHasBeenSet; 386 387 MediaPipelineSinkType m_sinkType; 388 bool m_sinkTypeHasBeenSet; 389 390 Aws::String m_sinkArn; 391 bool m_sinkArnHasBeenSet; 392 393 Aws::Utils::DateTime m_createdTimestamp; 394 bool m_createdTimestampHasBeenSet; 395 396 Aws::Utils::DateTime m_updatedTimestamp; 397 bool m_updatedTimestampHasBeenSet; 398 399 ChimeSdkMeetingConfiguration m_chimeSdkMeetingConfiguration; 400 bool m_chimeSdkMeetingConfigurationHasBeenSet; 401 }; 402 403 } // namespace Model 404 } // namespace Chime 405 } // namespace Aws 406