_propDict)) { return $this->_propDict["appId"]; } else { return null; } } /** * Sets the appId * App identifier, if this traffic rule is triggered by an app. * * @param string $val The value of the appId * * @return VpnTrafficRule */ public function setAppId($val) { $this->_propDict["appId"] = $val; return $this; } /** * Gets the appType * App type, if this traffic rule is triggered by an app. Possible values are: none, desktop, universal. * * @return VpnTrafficRuleAppType|null The appType */ public function getAppType() { if (array_key_exists("appType", $this->_propDict)) { if (is_a($this->_propDict["appType"], "\Beta\Microsoft\Graph\Model\VpnTrafficRuleAppType") || is_null($this->_propDict["appType"])) { return $this->_propDict["appType"]; } else { $this->_propDict["appType"] = new VpnTrafficRuleAppType($this->_propDict["appType"]); return $this->_propDict["appType"]; } } return null; } /** * Sets the appType * App type, if this traffic rule is triggered by an app. Possible values are: none, desktop, universal. * * @param VpnTrafficRuleAppType $val The value to assign to the appType * * @return VpnTrafficRule The VpnTrafficRule */ public function setAppType($val) { $this->_propDict["appType"] = $val; return $this; } /** * Gets the claims * Claims associated with this traffic rule. * * @return string|null The claims */ public function getClaims() { if (array_key_exists("claims", $this->_propDict)) { return $this->_propDict["claims"]; } else { return null; } } /** * Sets the claims * Claims associated with this traffic rule. * * @param string $val The value of the claims * * @return VpnTrafficRule */ public function setClaims($val) { $this->_propDict["claims"] = $val; return $this; } /** * Gets the localAddressRanges * Local address range. This collection can contain a maximum of 500 elements. * * @return IPv4Range|null The localAddressRanges */ public function getLocalAddressRanges() { if (array_key_exists("localAddressRanges", $this->_propDict)) { if (is_a($this->_propDict["localAddressRanges"], "\Beta\Microsoft\Graph\Model\IPv4Range") || is_null($this->_propDict["localAddressRanges"])) { return $this->_propDict["localAddressRanges"]; } else { $this->_propDict["localAddressRanges"] = new IPv4Range($this->_propDict["localAddressRanges"]); return $this->_propDict["localAddressRanges"]; } } return null; } /** * Sets the localAddressRanges * Local address range. This collection can contain a maximum of 500 elements. * * @param IPv4Range $val The value to assign to the localAddressRanges * * @return VpnTrafficRule The VpnTrafficRule */ public function setLocalAddressRanges($val) { $this->_propDict["localAddressRanges"] = $val; return $this; } /** * Gets the localPortRanges * Local port range can be set only when protocol is either TCP or UDP (6 or 17). This collection can contain a maximum of 500 elements. * * @return NumberRange|null The localPortRanges */ public function getLocalPortRanges() { if (array_key_exists("localPortRanges", $this->_propDict)) { if (is_a($this->_propDict["localPortRanges"], "\Beta\Microsoft\Graph\Model\NumberRange") || is_null($this->_propDict["localPortRanges"])) { return $this->_propDict["localPortRanges"]; } else { $this->_propDict["localPortRanges"] = new NumberRange($this->_propDict["localPortRanges"]); return $this->_propDict["localPortRanges"]; } } return null; } /** * Sets the localPortRanges * Local port range can be set only when protocol is either TCP or UDP (6 or 17). This collection can contain a maximum of 500 elements. * * @param NumberRange $val The value to assign to the localPortRanges * * @return VpnTrafficRule The VpnTrafficRule */ public function setLocalPortRanges($val) { $this->_propDict["localPortRanges"] = $val; return $this; } /** * Gets the name * Name. * * @return string|null The name */ public function getName() { if (array_key_exists("name", $this->_propDict)) { return $this->_propDict["name"]; } else { return null; } } /** * Sets the name * Name. * * @param string $val The value of the name * * @return VpnTrafficRule */ public function setName($val) { $this->_propDict["name"] = $val; return $this; } /** * Gets the protocols * Protocols (0-255). Valid values 0 to 255 * * @return int|null The protocols */ public function getProtocols() { if (array_key_exists("protocols", $this->_propDict)) { return $this->_propDict["protocols"]; } else { return null; } } /** * Sets the protocols * Protocols (0-255). Valid values 0 to 255 * * @param int $val The value of the protocols * * @return VpnTrafficRule */ public function setProtocols($val) { $this->_propDict["protocols"] = $val; return $this; } /** * Gets the remoteAddressRanges * Remote address range. This collection can contain a maximum of 500 elements. * * @return IPv4Range|null The remoteAddressRanges */ public function getRemoteAddressRanges() { if (array_key_exists("remoteAddressRanges", $this->_propDict)) { if (is_a($this->_propDict["remoteAddressRanges"], "\Beta\Microsoft\Graph\Model\IPv4Range") || is_null($this->_propDict["remoteAddressRanges"])) { return $this->_propDict["remoteAddressRanges"]; } else { $this->_propDict["remoteAddressRanges"] = new IPv4Range($this->_propDict["remoteAddressRanges"]); return $this->_propDict["remoteAddressRanges"]; } } return null; } /** * Sets the remoteAddressRanges * Remote address range. This collection can contain a maximum of 500 elements. * * @param IPv4Range $val The value to assign to the remoteAddressRanges * * @return VpnTrafficRule The VpnTrafficRule */ public function setRemoteAddressRanges($val) { $this->_propDict["remoteAddressRanges"] = $val; return $this; } /** * Gets the remotePortRanges * Remote port range can be set only when protocol is either TCP or UDP (6 or 17). This collection can contain a maximum of 500 elements. * * @return NumberRange|null The remotePortRanges */ public function getRemotePortRanges() { if (array_key_exists("remotePortRanges", $this->_propDict)) { if (is_a($this->_propDict["remotePortRanges"], "\Beta\Microsoft\Graph\Model\NumberRange") || is_null($this->_propDict["remotePortRanges"])) { return $this->_propDict["remotePortRanges"]; } else { $this->_propDict["remotePortRanges"] = new NumberRange($this->_propDict["remotePortRanges"]); return $this->_propDict["remotePortRanges"]; } } return null; } /** * Sets the remotePortRanges * Remote port range can be set only when protocol is either TCP or UDP (6 or 17). This collection can contain a maximum of 500 elements. * * @param NumberRange $val The value to assign to the remotePortRanges * * @return VpnTrafficRule The VpnTrafficRule */ public function setRemotePortRanges($val) { $this->_propDict["remotePortRanges"] = $val; return $this; } /** * Gets the routingPolicyType * When app triggered, indicates whether to enable split tunneling along this route. Possible values are: none, splitTunnel, forceTunnel. * * @return VpnTrafficRuleRoutingPolicyType|null The routingPolicyType */ public function getRoutingPolicyType() { if (array_key_exists("routingPolicyType", $this->_propDict)) { if (is_a($this->_propDict["routingPolicyType"], "\Beta\Microsoft\Graph\Model\VpnTrafficRuleRoutingPolicyType") || is_null($this->_propDict["routingPolicyType"])) { return $this->_propDict["routingPolicyType"]; } else { $this->_propDict["routingPolicyType"] = new VpnTrafficRuleRoutingPolicyType($this->_propDict["routingPolicyType"]); return $this->_propDict["routingPolicyType"]; } } return null; } /** * Sets the routingPolicyType * When app triggered, indicates whether to enable split tunneling along this route. Possible values are: none, splitTunnel, forceTunnel. * * @param VpnTrafficRuleRoutingPolicyType $val The value to assign to the routingPolicyType * * @return VpnTrafficRule The VpnTrafficRule */ public function setRoutingPolicyType($val) { $this->_propDict["routingPolicyType"] = $val; return $this; } /** * Gets the vpnTrafficDirection * Specify whether the rule applies to inbound traffic or outbound traffic. Possible values are: outbound, inbound, unknownFutureValue. * * @return VpnTrafficDirection|null The vpnTrafficDirection */ public function getVpnTrafficDirection() { if (array_key_exists("vpnTrafficDirection", $this->_propDict)) { if (is_a($this->_propDict["vpnTrafficDirection"], "\Beta\Microsoft\Graph\Model\VpnTrafficDirection") || is_null($this->_propDict["vpnTrafficDirection"])) { return $this->_propDict["vpnTrafficDirection"]; } else { $this->_propDict["vpnTrafficDirection"] = new VpnTrafficDirection($this->_propDict["vpnTrafficDirection"]); return $this->_propDict["vpnTrafficDirection"]; } } return null; } /** * Sets the vpnTrafficDirection * Specify whether the rule applies to inbound traffic or outbound traffic. Possible values are: outbound, inbound, unknownFutureValue. * * @param VpnTrafficDirection $val The value to assign to the vpnTrafficDirection * * @return VpnTrafficRule The VpnTrafficRule */ public function setVpnTrafficDirection($val) { $this->_propDict["vpnTrafficDirection"] = $val; return $this; } }