/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The SIP rule details, including name, triggers, and target applications. An
* AWS account can have multiple SIP rules.See Also:
AWS API
* Reference
The SIP rule ID.
*/ inline const Aws::String& GetSipRuleId() const{ return m_sipRuleId; } /** *The SIP rule ID.
*/ inline bool SipRuleIdHasBeenSet() const { return m_sipRuleIdHasBeenSet; } /** *The SIP rule ID.
*/ inline void SetSipRuleId(const Aws::String& value) { m_sipRuleIdHasBeenSet = true; m_sipRuleId = value; } /** *The SIP rule ID.
*/ inline void SetSipRuleId(Aws::String&& value) { m_sipRuleIdHasBeenSet = true; m_sipRuleId = std::move(value); } /** *The SIP rule ID.
*/ inline void SetSipRuleId(const char* value) { m_sipRuleIdHasBeenSet = true; m_sipRuleId.assign(value); } /** *The SIP rule ID.
*/ inline SipRule& WithSipRuleId(const Aws::String& value) { SetSipRuleId(value); return *this;} /** *The SIP rule ID.
*/ inline SipRule& WithSipRuleId(Aws::String&& value) { SetSipRuleId(std::move(value)); return *this;} /** *The SIP rule ID.
*/ inline SipRule& WithSipRuleId(const char* value) { SetSipRuleId(value); return *this;} /** *The name of the SIP rule.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the SIP rule.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the SIP rule.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the SIP rule.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the SIP rule.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the SIP rule.
*/ inline SipRule& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the SIP rule.
*/ inline SipRule& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the SIP rule.
*/ inline SipRule& WithName(const char* value) { SetName(value); return *this;} /** *Indicates whether the SIP rule is enabled or disabled. You must disable a * rule before you can delete it.
*/ inline bool GetDisabled() const{ return m_disabled; } /** *Indicates whether the SIP rule is enabled or disabled. You must disable a * rule before you can delete it.
*/ inline bool DisabledHasBeenSet() const { return m_disabledHasBeenSet; } /** *Indicates whether the SIP rule is enabled or disabled. You must disable a * rule before you can delete it.
*/ inline void SetDisabled(bool value) { m_disabledHasBeenSet = true; m_disabled = value; } /** *Indicates whether the SIP rule is enabled or disabled. You must disable a * rule before you can delete it.
*/ inline SipRule& WithDisabled(bool value) { SetDisabled(value); return *this;} /** *The type of trigger assigned to the SIP rule in TriggerValue
,
* currently RequestUriHostname
or ToPhoneNumber
.
The type of trigger assigned to the SIP rule in TriggerValue
,
* currently RequestUriHostname
or ToPhoneNumber
.
The type of trigger assigned to the SIP rule in TriggerValue
,
* currently RequestUriHostname
or ToPhoneNumber
.
The type of trigger assigned to the SIP rule in TriggerValue
,
* currently RequestUriHostname
or ToPhoneNumber
.
The type of trigger assigned to the SIP rule in TriggerValue
,
* currently RequestUriHostname
or ToPhoneNumber
.
The type of trigger assigned to the SIP rule in TriggerValue
,
* currently RequestUriHostname
or ToPhoneNumber
.
If TriggerType
is RequestUriHostname
, then the
* value can be the outbound host name of the Amazon Chime Voice Connector. If
* TriggerType
is ToPhoneNumber
, then the value can be a
* customer-owned phone number in E164 format. SipRule
is triggered
* when a SIP rule requests host name or ToPhoneNumber
matches in the
* incoming SIP request.
If TriggerType
is RequestUriHostname
, then the
* value can be the outbound host name of the Amazon Chime Voice Connector. If
* TriggerType
is ToPhoneNumber
, then the value can be a
* customer-owned phone number in E164 format. SipRule
is triggered
* when a SIP rule requests host name or ToPhoneNumber
matches in the
* incoming SIP request.
If TriggerType
is RequestUriHostname
, then the
* value can be the outbound host name of the Amazon Chime Voice Connector. If
* TriggerType
is ToPhoneNumber
, then the value can be a
* customer-owned phone number in E164 format. SipRule
is triggered
* when a SIP rule requests host name or ToPhoneNumber
matches in the
* incoming SIP request.
If TriggerType
is RequestUriHostname
, then the
* value can be the outbound host name of the Amazon Chime Voice Connector. If
* TriggerType
is ToPhoneNumber
, then the value can be a
* customer-owned phone number in E164 format. SipRule
is triggered
* when a SIP rule requests host name or ToPhoneNumber
matches in the
* incoming SIP request.
If TriggerType
is RequestUriHostname
, then the
* value can be the outbound host name of the Amazon Chime Voice Connector. If
* TriggerType
is ToPhoneNumber
, then the value can be a
* customer-owned phone number in E164 format. SipRule
is triggered
* when a SIP rule requests host name or ToPhoneNumber
matches in the
* incoming SIP request.
If TriggerType
is RequestUriHostname
, then the
* value can be the outbound host name of the Amazon Chime Voice Connector. If
* TriggerType
is ToPhoneNumber
, then the value can be a
* customer-owned phone number in E164 format. SipRule
is triggered
* when a SIP rule requests host name or ToPhoneNumber
matches in the
* incoming SIP request.
If TriggerType
is RequestUriHostname
, then the
* value can be the outbound host name of the Amazon Chime Voice Connector. If
* TriggerType
is ToPhoneNumber
, then the value can be a
* customer-owned phone number in E164 format. SipRule
is triggered
* when a SIP rule requests host name or ToPhoneNumber
matches in the
* incoming SIP request.
If TriggerType
is RequestUriHostname
, then the
* value can be the outbound host name of the Amazon Chime Voice Connector. If
* TriggerType
is ToPhoneNumber
, then the value can be a
* customer-owned phone number in E164 format. SipRule
is triggered
* when a SIP rule requests host name or ToPhoneNumber
matches in the
* incoming SIP request.
Target SIP media application and other details, such as priority and AWS * Region, to be specified in the SIP rule. Only one SIP rule per AWS Region can be * provided.
*/ inline const Aws::VectorTarget SIP media application and other details, such as priority and AWS * Region, to be specified in the SIP rule. Only one SIP rule per AWS Region can be * provided.
*/ inline bool TargetApplicationsHasBeenSet() const { return m_targetApplicationsHasBeenSet; } /** *Target SIP media application and other details, such as priority and AWS * Region, to be specified in the SIP rule. Only one SIP rule per AWS Region can be * provided.
*/ inline void SetTargetApplications(const Aws::VectorTarget SIP media application and other details, such as priority and AWS * Region, to be specified in the SIP rule. Only one SIP rule per AWS Region can be * provided.
*/ inline void SetTargetApplications(Aws::VectorTarget SIP media application and other details, such as priority and AWS * Region, to be specified in the SIP rule. Only one SIP rule per AWS Region can be * provided.
*/ inline SipRule& WithTargetApplications(const Aws::VectorTarget SIP media application and other details, such as priority and AWS * Region, to be specified in the SIP rule. Only one SIP rule per AWS Region can be * provided.
*/ inline SipRule& WithTargetApplications(Aws::VectorTarget SIP media application and other details, such as priority and AWS * Region, to be specified in the SIP rule. Only one SIP rule per AWS Region can be * provided.
*/ inline SipRule& AddTargetApplications(const SipRuleTargetApplication& value) { m_targetApplicationsHasBeenSet = true; m_targetApplications.push_back(value); return *this; } /** *Target SIP media application and other details, such as priority and AWS * Region, to be specified in the SIP rule. Only one SIP rule per AWS Region can be * provided.
*/ inline SipRule& AddTargetApplications(SipRuleTargetApplication&& value) { m_targetApplicationsHasBeenSet = true; m_targetApplications.push_back(std::move(value)); return *this; } /** *The time at which the SIP rule was created, in ISO 8601 format.
*/ inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } /** *The time at which the SIP rule was created, in ISO 8601 format.
*/ inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } /** *The time at which the SIP rule was created, in ISO 8601 format.
*/ inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } /** *The time at which the SIP rule was created, in ISO 8601 format.
*/ inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } /** *The time at which the SIP rule was created, in ISO 8601 format.
*/ inline SipRule& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *The time at which the SIP rule was created, in ISO 8601 format.
*/ inline SipRule& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} /** *The time at which the SIP rule was last updated, in ISO 8601 format.
*/ inline const Aws::Utils::DateTime& GetUpdatedTimestamp() const{ return m_updatedTimestamp; } /** *The time at which the SIP rule was last updated, in ISO 8601 format.
*/ inline bool UpdatedTimestampHasBeenSet() const { return m_updatedTimestampHasBeenSet; } /** *The time at which the SIP rule was last updated, in ISO 8601 format.
*/ inline void SetUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_updatedTimestampHasBeenSet = true; m_updatedTimestamp = value; } /** *The time at which the SIP rule was last updated, in ISO 8601 format.
*/ inline void SetUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_updatedTimestampHasBeenSet = true; m_updatedTimestamp = std::move(value); } /** *The time at which the SIP rule was last updated, in ISO 8601 format.
*/ inline SipRule& WithUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetUpdatedTimestamp(value); return *this;} /** *The time at which the SIP rule was last updated, in ISO 8601 format.
*/ inline SipRule& WithUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetUpdatedTimestamp(std::move(value)); return *this;} private: Aws::String m_sipRuleId; bool m_sipRuleIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; bool m_disabled; bool m_disabledHasBeenSet = false; SipRuleTriggerType m_triggerType; bool m_triggerTypeHasBeenSet = false; Aws::String m_triggerValue; bool m_triggerValueHasBeenSet = false; Aws::Vector