/** * 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 ChimeSDKVoice { namespace Model { /** *

Origination routes define call distribution properties for your SIP hosts to * receive inbound calls using an Amazon Chime SDK Voice Connector. Limit: Ten * origination routes for each Voice Connector.

The parameters listed * below are not required, but you must use at least one.

See * Also:

AWS * API Reference

*/ class OriginationRoute { public: AWS_CHIMESDKVOICE_API OriginationRoute(); AWS_CHIMESDKVOICE_API OriginationRoute(Aws::Utils::Json::JsonView jsonValue); AWS_CHIMESDKVOICE_API OriginationRoute& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CHIMESDKVOICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The FQDN or IP address to contact for origination traffic.

*/ inline const Aws::String& GetHost() const{ return m_host; } /** *

The FQDN or IP address to contact for origination traffic.

*/ inline bool HostHasBeenSet() const { return m_hostHasBeenSet; } /** *

The FQDN or IP address to contact for origination traffic.

*/ inline void SetHost(const Aws::String& value) { m_hostHasBeenSet = true; m_host = value; } /** *

The FQDN or IP address to contact for origination traffic.

*/ inline void SetHost(Aws::String&& value) { m_hostHasBeenSet = true; m_host = std::move(value); } /** *

The FQDN or IP address to contact for origination traffic.

*/ inline void SetHost(const char* value) { m_hostHasBeenSet = true; m_host.assign(value); } /** *

The FQDN or IP address to contact for origination traffic.

*/ inline OriginationRoute& WithHost(const Aws::String& value) { SetHost(value); return *this;} /** *

The FQDN or IP address to contact for origination traffic.

*/ inline OriginationRoute& WithHost(Aws::String&& value) { SetHost(std::move(value)); return *this;} /** *

The FQDN or IP address to contact for origination traffic.

*/ inline OriginationRoute& WithHost(const char* value) { SetHost(value); return *this;} /** *

The designated origination route port. Defaults to 5060.

*/ inline int GetPort() const{ return m_port; } /** *

The designated origination route port. Defaults to 5060.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The designated origination route port. Defaults to 5060.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

The designated origination route port. Defaults to 5060.

*/ inline OriginationRoute& WithPort(int value) { SetPort(value); return *this;} /** *

The protocol to use for the origination route. Encryption-enabled Amazon * Chime SDK Voice Connectors use TCP protocol by default.

*/ inline const OriginationRouteProtocol& GetProtocol() const{ return m_protocol; } /** *

The protocol to use for the origination route. Encryption-enabled Amazon * Chime SDK Voice Connectors use TCP protocol by default.

*/ inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } /** *

The protocol to use for the origination route. Encryption-enabled Amazon * Chime SDK Voice Connectors use TCP protocol by default.

*/ inline void SetProtocol(const OriginationRouteProtocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } /** *

The protocol to use for the origination route. Encryption-enabled Amazon * Chime SDK Voice Connectors use TCP protocol by default.

*/ inline void SetProtocol(OriginationRouteProtocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } /** *

The protocol to use for the origination route. Encryption-enabled Amazon * Chime SDK Voice Connectors use TCP protocol by default.

*/ inline OriginationRoute& WithProtocol(const OriginationRouteProtocol& value) { SetProtocol(value); return *this;} /** *

The protocol to use for the origination route. Encryption-enabled Amazon * Chime SDK Voice Connectors use TCP protocol by default.

*/ inline OriginationRoute& WithProtocol(OriginationRouteProtocol&& value) { SetProtocol(std::move(value)); return *this;} /** *

The priority associated with the host, with 1 being the highest priority. * Higher priority hosts are attempted first.

*/ inline int GetPriority() const{ return m_priority; } /** *

The priority associated with the host, with 1 being the highest priority. * Higher priority hosts are attempted first.

*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *

The priority associated with the host, with 1 being the highest priority. * Higher priority hosts are attempted first.

*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *

The priority associated with the host, with 1 being the highest priority. * Higher priority hosts are attempted first.

*/ inline OriginationRoute& WithPriority(int value) { SetPriority(value); return *this;} /** *

The weight assigned to an origination route. When hosts have equal priority, * calls are distributed between them based on their relative weights.

*/ inline int GetWeight() const{ return m_weight; } /** *

The weight assigned to an origination route. When hosts have equal priority, * calls are distributed between them based on their relative weights.

*/ inline bool WeightHasBeenSet() const { return m_weightHasBeenSet; } /** *

The weight assigned to an origination route. When hosts have equal priority, * calls are distributed between them based on their relative weights.

*/ inline void SetWeight(int value) { m_weightHasBeenSet = true; m_weight = value; } /** *

The weight assigned to an origination route. When hosts have equal priority, * calls are distributed between them based on their relative weights.

*/ inline OriginationRoute& WithWeight(int value) { SetWeight(value); return *this;} private: Aws::String m_host; bool m_hostHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; OriginationRouteProtocol m_protocol; bool m_protocolHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; int m_weight; bool m_weightHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKVoice } // namespace Aws