Example #1
0
 /**
  * Creates Security Group Rule (POST /security-group-rules)
  *
  * @param   CreateSecurityGroupRule|object|array $request The request object
  * @return  object                               Returns Security Group Rule object
  */
 public function createSecurityGroupRule($request)
 {
     if (!is_array($request)) {
         $request = get_object_vars($request);
     }
     if ($this->hasNetworkSecurityGroupExtension()) {
         $requestObject = CreateSecurityGroupRule::initArray($request);
         $result = $this->network->securityGroups->addRule($requestObject);
     } else {
         $requestData = array('parent_group_id' => $request['security_group_id'], 'ip_protocol' => !empty($request['protocol']) ? $request['protocol'] : null, 'from_port' => $request['port_range_min'], 'to_port' => $request['port_range_max'], 'cidr' => !empty($request['remote_ip_prefix']) ? $request['remote_ip_prefix'] : null, 'group_id' => !empty($request['remote_group_id']) ? $request['remote_group_id'] : null);
         $result = $this->servers->securityGroups->addRule($requestData);
     }
     return $result;
 }
Example #2
0
 /**
  * Creates Security Group Rule (POST /security-group-rules)
  *
  * @param   CreateSecurityGroupRule|array $request The request object
  * @return  object                        Returns Security Group Rule object
  * @throws  RestClientException
  */
 public function createSecurityGroupRule($request)
 {
     if (!$request instanceof CreateSecurityGroupRule) {
         $request = CreateSecurityGroupRule::initArray($request);
     }
     return $this->getApiHandler()->createSecurityGroupRule($request);
 }