/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace KinesisVideo
{
namespace Model
{
/**
* An object that describes the endpoint of the signaling channel returned by
* the GetSignalingChannelEndpoint
API.
The media server
* endpoint will correspond to the WEBRTC
Protocol.
See
* Also:
AWS
* API Reference
*/
class ResourceEndpointListItem
{
public:
AWS_KINESISVIDEO_API ResourceEndpointListItem();
AWS_KINESISVIDEO_API ResourceEndpointListItem(Aws::Utils::Json::JsonView jsonValue);
AWS_KINESISVIDEO_API ResourceEndpointListItem& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_KINESISVIDEO_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* The protocol of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline const ChannelProtocol& GetProtocol() const{ return m_protocol; }
/**
* The protocol of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
/**
* The protocol of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline void SetProtocol(const ChannelProtocol& value) { m_protocolHasBeenSet = true; m_protocol = value; }
/**
* The protocol of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline void SetProtocol(ChannelProtocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); }
/**
* The protocol of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline ResourceEndpointListItem& WithProtocol(const ChannelProtocol& value) { SetProtocol(value); return *this;}
/**
* The protocol of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline ResourceEndpointListItem& WithProtocol(ChannelProtocol&& value) { SetProtocol(std::move(value)); return *this;}
/**
* The endpoint of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline const Aws::String& GetResourceEndpoint() const{ return m_resourceEndpoint; }
/**
* The endpoint of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline bool ResourceEndpointHasBeenSet() const { return m_resourceEndpointHasBeenSet; }
/**
* The endpoint of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline void SetResourceEndpoint(const Aws::String& value) { m_resourceEndpointHasBeenSet = true; m_resourceEndpoint = value; }
/**
* The endpoint of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline void SetResourceEndpoint(Aws::String&& value) { m_resourceEndpointHasBeenSet = true; m_resourceEndpoint = std::move(value); }
/**
* The endpoint of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline void SetResourceEndpoint(const char* value) { m_resourceEndpointHasBeenSet = true; m_resourceEndpoint.assign(value); }
/**
* The endpoint of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline ResourceEndpointListItem& WithResourceEndpoint(const Aws::String& value) { SetResourceEndpoint(value); return *this;}
/**
* The endpoint of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline ResourceEndpointListItem& WithResourceEndpoint(Aws::String&& value) { SetResourceEndpoint(std::move(value)); return *this;}
/**
* The endpoint of the signaling channel returned by the
* GetSignalingChannelEndpoint
API.
*/
inline ResourceEndpointListItem& WithResourceEndpoint(const char* value) { SetResourceEndpoint(value); return *this;}
private:
ChannelProtocol m_protocol;
bool m_protocolHasBeenSet = false;
Aws::String m_resourceEndpoint;
bool m_resourceEndpointHasBeenSet = false;
};
} // namespace Model
} // namespace KinesisVideo
} // namespace Aws