/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The details of a SIP rule, including name, triggers, and target applications.
* An AWS account can have multiple SIP rules.See Also:
AWS
* API Reference
A SIP rule's ID.
*/ inline const Aws::String& GetSipRuleId() const{ return m_sipRuleId; } /** *A SIP rule's ID.
*/ inline bool SipRuleIdHasBeenSet() const { return m_sipRuleIdHasBeenSet; } /** *A SIP rule's ID.
*/ inline void SetSipRuleId(const Aws::String& value) { m_sipRuleIdHasBeenSet = true; m_sipRuleId = value; } /** *A SIP rule's ID.
*/ inline void SetSipRuleId(Aws::String&& value) { m_sipRuleIdHasBeenSet = true; m_sipRuleId = std::move(value); } /** *A SIP rule's ID.
*/ inline void SetSipRuleId(const char* value) { m_sipRuleIdHasBeenSet = true; m_sipRuleId.assign(value); } /** *A SIP rule's ID.
*/ inline SipRule& WithSipRuleId(const Aws::String& value) { SetSipRuleId(value); return *this;} /** *A SIP rule's ID.
*/ inline SipRule& WithSipRuleId(Aws::String&& value) { SetSipRuleId(std::move(value)); return *this;} /** *A SIP rule's ID.
*/ inline SipRule& WithSipRuleId(const char* value) { SetSipRuleId(value); return *this;} /** *A SIP rule's name.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *A SIP rule's name.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *A SIP rule's name.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *A SIP rule's name.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *A SIP rule's name.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *A SIP rule's name.
*/ inline SipRule& WithName(const Aws::String& value) { SetName(value); return *this;} /** *A SIP rule's name.
*/ inline SipRule& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *A SIP rule's name.
*/ 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 set for a SIP rule, either a phone number or a URI * request host name.
*/ inline const SipRuleTriggerType& GetTriggerType() const{ return m_triggerType; } /** *The type of trigger set for a SIP rule, either a phone number or a URI * request host name.
*/ inline bool TriggerTypeHasBeenSet() const { return m_triggerTypeHasBeenSet; } /** *The type of trigger set for a SIP rule, either a phone number or a URI * request host name.
*/ inline void SetTriggerType(const SipRuleTriggerType& value) { m_triggerTypeHasBeenSet = true; m_triggerType = value; } /** *The type of trigger set for a SIP rule, either a phone number or a URI * request host name.
*/ inline void SetTriggerType(SipRuleTriggerType&& value) { m_triggerTypeHasBeenSet = true; m_triggerType = std::move(value); } /** *The type of trigger set for a SIP rule, either a phone number or a URI * request host name.
*/ inline SipRule& WithTriggerType(const SipRuleTriggerType& value) { SetTriggerType(value); return *this;} /** *The type of trigger set for a SIP rule, either a phone number or a URI * request host name.
*/ inline SipRule& WithTriggerType(SipRuleTriggerType&& value) { SetTriggerType(std::move(value)); return *this;} /** *The value set for a SIP rule's trigger type. Either a phone number or a URI * hostname.
*/ inline const Aws::String& GetTriggerValue() const{ return m_triggerValue; } /** *The value set for a SIP rule's trigger type. Either a phone number or a URI * hostname.
*/ inline bool TriggerValueHasBeenSet() const { return m_triggerValueHasBeenSet; } /** *The value set for a SIP rule's trigger type. Either a phone number or a URI * hostname.
*/ inline void SetTriggerValue(const Aws::String& value) { m_triggerValueHasBeenSet = true; m_triggerValue = value; } /** *The value set for a SIP rule's trigger type. Either a phone number or a URI * hostname.
*/ inline void SetTriggerValue(Aws::String&& value) { m_triggerValueHasBeenSet = true; m_triggerValue = std::move(value); } /** *The value set for a SIP rule's trigger type. Either a phone number or a URI * hostname.
*/ inline void SetTriggerValue(const char* value) { m_triggerValueHasBeenSet = true; m_triggerValue.assign(value); } /** *The value set for a SIP rule's trigger type. Either a phone number or a URI * hostname.
*/ inline SipRule& WithTriggerValue(const Aws::String& value) { SetTriggerValue(value); return *this;} /** *The value set for a SIP rule's trigger type. Either a phone number or a URI * hostname.
*/ inline SipRule& WithTriggerValue(Aws::String&& value) { SetTriggerValue(std::move(value)); return *this;} /** *The value set for a SIP rule's trigger type. Either a phone number or a URI * hostname.
*/ inline SipRule& WithTriggerValue(const char* value) { SetTriggerValue(value); return *this;} /** *The 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::VectorThe 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 bool TargetApplicationsHasBeenSet() const { return m_targetApplicationsHasBeenSet; } /** *The 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::VectorThe 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(Aws::VectorThe 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& WithTargetApplications(const Aws::VectorThe 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& WithTargetApplications(Aws::VectorThe 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(const SipRuleTargetApplication& value) { m_targetApplicationsHasBeenSet = true; m_targetApplications.push_back(value); return *this; } /** *The 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 updated, in ISO 8601 format.
*/ inline const Aws::Utils::DateTime& GetUpdatedTimestamp() const{ return m_updatedTimestamp; } /** *The time at which the SIP rule was updated, in ISO 8601 format.
*/ inline bool UpdatedTimestampHasBeenSet() const { return m_updatedTimestampHasBeenSet; } /** *The time at which the SIP rule was 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 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 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 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