/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Object that captures the Amazon IVS configuration that the customer
* provisioned, the ingest configurations that the broadcaster used, and the most
* recent Amazon IVS stream events it encountered.See Also:
AWS
* API Reference
The properties of the channel at the time of going live.
*/ inline const Channel& GetChannel() const{ return m_channel; } /** *The properties of the channel at the time of going live.
*/ inline bool ChannelHasBeenSet() const { return m_channelHasBeenSet; } /** *The properties of the channel at the time of going live.
*/ inline void SetChannel(const Channel& value) { m_channelHasBeenSet = true; m_channel = value; } /** *The properties of the channel at the time of going live.
*/ inline void SetChannel(Channel&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } /** *The properties of the channel at the time of going live.
*/ inline StreamSession& WithChannel(const Channel& value) { SetChannel(value); return *this;} /** *The properties of the channel at the time of going live.
*/ inline StreamSession& WithChannel(Channel&& value) { SetChannel(std::move(value)); return *this;} /** *Time when the channel went offline. This is an ISO 8601 timestamp; note
* that this is returned as a string. For live streams, this is
* NULL
.
Time when the channel went offline. This is an ISO 8601 timestamp; note
* that this is returned as a string. For live streams, this is
* NULL
.
Time when the channel went offline. This is an ISO 8601 timestamp; note
* that this is returned as a string. For live streams, this is
* NULL
.
Time when the channel went offline. This is an ISO 8601 timestamp; note
* that this is returned as a string. For live streams, this is
* NULL
.
Time when the channel went offline. This is an ISO 8601 timestamp; note
* that this is returned as a string. For live streams, this is
* NULL
.
Time when the channel went offline. This is an ISO 8601 timestamp; note
* that this is returned as a string. For live streams, this is
* NULL
.
The properties of the incoming RTMP stream for the stream.
*/ inline const IngestConfiguration& GetIngestConfiguration() const{ return m_ingestConfiguration; } /** *The properties of the incoming RTMP stream for the stream.
*/ inline bool IngestConfigurationHasBeenSet() const { return m_ingestConfigurationHasBeenSet; } /** *The properties of the incoming RTMP stream for the stream.
*/ inline void SetIngestConfiguration(const IngestConfiguration& value) { m_ingestConfigurationHasBeenSet = true; m_ingestConfiguration = value; } /** *The properties of the incoming RTMP stream for the stream.
*/ inline void SetIngestConfiguration(IngestConfiguration&& value) { m_ingestConfigurationHasBeenSet = true; m_ingestConfiguration = std::move(value); } /** *The properties of the incoming RTMP stream for the stream.
*/ inline StreamSession& WithIngestConfiguration(const IngestConfiguration& value) { SetIngestConfiguration(value); return *this;} /** *The properties of the incoming RTMP stream for the stream.
*/ inline StreamSession& WithIngestConfiguration(IngestConfiguration&& value) { SetIngestConfiguration(std::move(value)); return *this;} /** *The properties of recording the live stream.
*/ inline const RecordingConfiguration& GetRecordingConfiguration() const{ return m_recordingConfiguration; } /** *The properties of recording the live stream.
*/ inline bool RecordingConfigurationHasBeenSet() const { return m_recordingConfigurationHasBeenSet; } /** *The properties of recording the live stream.
*/ inline void SetRecordingConfiguration(const RecordingConfiguration& value) { m_recordingConfigurationHasBeenSet = true; m_recordingConfiguration = value; } /** *The properties of recording the live stream.
*/ inline void SetRecordingConfiguration(RecordingConfiguration&& value) { m_recordingConfigurationHasBeenSet = true; m_recordingConfiguration = std::move(value); } /** *The properties of recording the live stream.
*/ inline StreamSession& WithRecordingConfiguration(const RecordingConfiguration& value) { SetRecordingConfiguration(value); return *this;} /** *The properties of recording the live stream.
*/ inline StreamSession& WithRecordingConfiguration(RecordingConfiguration&& value) { SetRecordingConfiguration(std::move(value)); return *this;} /** *Time when the channel went live. This is an ISO 8601 timestamp; note that * this is returned as a string.
*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *Time when the channel went live. This is an ISO 8601 timestamp; note that * this is returned as a string.
*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *Time when the channel went live. This is an ISO 8601 timestamp; note that * this is returned as a string.
*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *Time when the channel went live. This is an ISO 8601 timestamp; note that * this is returned as a string.
*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *Time when the channel went live. This is an ISO 8601 timestamp; note that * this is returned as a string.
*/ inline StreamSession& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *Time when the channel went live. This is an ISO 8601 timestamp; note that * this is returned as a string.
*/ inline StreamSession& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *Unique identifier for a live or previously live stream in the specified * channel.
*/ inline const Aws::String& GetStreamId() const{ return m_streamId; } /** *Unique identifier for a live or previously live stream in the specified * channel.
*/ inline bool StreamIdHasBeenSet() const { return m_streamIdHasBeenSet; } /** *Unique identifier for a live or previously live stream in the specified * channel.
*/ inline void SetStreamId(const Aws::String& value) { m_streamIdHasBeenSet = true; m_streamId = value; } /** *Unique identifier for a live or previously live stream in the specified * channel.
*/ inline void SetStreamId(Aws::String&& value) { m_streamIdHasBeenSet = true; m_streamId = std::move(value); } /** *Unique identifier for a live or previously live stream in the specified * channel.
*/ inline void SetStreamId(const char* value) { m_streamIdHasBeenSet = true; m_streamId.assign(value); } /** *Unique identifier for a live or previously live stream in the specified * channel.
*/ inline StreamSession& WithStreamId(const Aws::String& value) { SetStreamId(value); return *this;} /** *Unique identifier for a live or previously live stream in the specified * channel.
*/ inline StreamSession& WithStreamId(Aws::String&& value) { SetStreamId(std::move(value)); return *this;} /** *Unique identifier for a live or previously live stream in the specified * channel.
*/ inline StreamSession& WithStreamId(const char* value) { SetStreamId(value); return *this;} /** *List of Amazon IVS events that the stream encountered. The list is sorted by * most recent events and contains up to 500 events. For Amazon IVS events, see Using * Amazon EventBridge with Amazon IVS.
*/ inline const Aws::VectorList of Amazon IVS events that the stream encountered. The list is sorted by * most recent events and contains up to 500 events. For Amazon IVS events, see Using * Amazon EventBridge with Amazon IVS.
*/ inline bool TruncatedEventsHasBeenSet() const { return m_truncatedEventsHasBeenSet; } /** *List of Amazon IVS events that the stream encountered. The list is sorted by * most recent events and contains up to 500 events. For Amazon IVS events, see Using * Amazon EventBridge with Amazon IVS.
*/ inline void SetTruncatedEvents(const Aws::VectorList of Amazon IVS events that the stream encountered. The list is sorted by * most recent events and contains up to 500 events. For Amazon IVS events, see Using * Amazon EventBridge with Amazon IVS.
*/ inline void SetTruncatedEvents(Aws::VectorList of Amazon IVS events that the stream encountered. The list is sorted by * most recent events and contains up to 500 events. For Amazon IVS events, see Using * Amazon EventBridge with Amazon IVS.
*/ inline StreamSession& WithTruncatedEvents(const Aws::VectorList of Amazon IVS events that the stream encountered. The list is sorted by * most recent events and contains up to 500 events. For Amazon IVS events, see Using * Amazon EventBridge with Amazon IVS.
*/ inline StreamSession& WithTruncatedEvents(Aws::VectorList of Amazon IVS events that the stream encountered. The list is sorted by * most recent events and contains up to 500 events. For Amazon IVS events, see Using * Amazon EventBridge with Amazon IVS.
*/ inline StreamSession& AddTruncatedEvents(const StreamEvent& value) { m_truncatedEventsHasBeenSet = true; m_truncatedEvents.push_back(value); return *this; } /** *List of Amazon IVS events that the stream encountered. The list is sorted by * most recent events and contains up to 500 events. For Amazon IVS events, see Using * Amazon EventBridge with Amazon IVS.
*/ inline StreamSession& AddTruncatedEvents(StreamEvent&& value) { m_truncatedEventsHasBeenSet = true; m_truncatedEvents.push_back(std::move(value)); return *this; } private: Channel m_channel; bool m_channelHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; IngestConfiguration m_ingestConfiguration; bool m_ingestConfigurationHasBeenSet = false; RecordingConfiguration m_recordingConfiguration; bool m_recordingConfigurationHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::String m_streamId; bool m_streamIdHasBeenSet = false; Aws::Vector