/** * @param $groupname * @param $description * @return null|OpenStackNovaSecurityGroup */ function createSecurityGroup( $groupname, $description ) { $response = $this->novaConnection->create_security_group( $groupname, $description ); if ( ! $response->isOK() ) { return null; } $securityGroup = new OpenStackNovaSecurityGroup( $response->body->securityGroupSet->item ); $groupname = $securityGroup->getGroupName(); $this->securityGroups["$groupname"] = $securityGroup; return $securityGroup; }
/** * @return array */ function getSecurityGroups() { $ret = $this->restCall('compute', '/os-security-groups', 'GET'); $groups = array(); $securityGroups = self::_get_property($ret['body'], 'security_groups'); if (!$securityGroups) { return $groups; } foreach ($securityGroups as $securityGroup) { $securityGroupObj = new OpenStackNovaSecurityGroup($securityGroup); $groupid = $securityGroupObj->getGroupId(); $groups[$groupid] = $securityGroupObj; } return $groups; }