/** * 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