Scalr\Service\OpenStack\Services\Network\V2\NetworkApi::listSecurityGroupRules PHP Метод

listSecurityGroupRules() публичный Метод

Lists a summary of all OpenStack Networking security group rules that the specified tenant can access.
public listSecurityGroupRules ( string $id = null, Scalr\Service\OpenStack\Services\Network\Type\ListSecurityGroupRulesFilter $filter = null, array $fields = null ) : Scalr\Service\OpenStack\Type\DefaultPaginationList | object
$id string optional The ID of the security group rule to view
$filter Scalr\Service\OpenStack\Services\Network\Type\ListSecurityGroupRulesFilter optional The filter options. Filter doesn't apply to detailed info
$fields array optional The list of the fields to show
Результат Scalr\Service\OpenStack\Type\DefaultPaginationList | object Returns the list of the security groups or specified security group
    public function listSecurityGroupRules($id = null, ListSecurityGroupRulesFilter $filter = null, array $fields = null)
    {
        $result = null;
        $detailed = $id !== null ? sprintf("/%s", $this->escape($id)) : '';
        if (!empty($fields)) {
            $acceptedFields = ['id', 'security_group_id', 'tenant_id', 'direction', 'ethertype', 'port_range_max', 'port_range_min', 'protocol', 'remote_group_id', 'remote_ip_prefix'];
            $fields = join('&fields=', array_map("rawurlencode", array_intersect(array_values($fields), $acceptedFields)));
        }
        $querystr = ($filter !== null && $detailed == '' ? $filter->getQueryString() : '') . ($fields ? '&fields=' . $fields : '');
        $querystr = !empty($querystr) ? '?' . ltrim($querystr, '&') : '';
        $response = $this->getClient()->call($this->service, '/security-group-rules' . $detailed . $querystr);
        if ($response->hasError() === false) {
            $result = json_decode($response->getContent());
            if (empty($detailed)) {
                $result = new DefaultPaginationList($this->service, 'security_group_rules', $result->security_group_rules, isset($result->security_group_rules_links) ? $result->security_group_rules_links : null);
            } else {
                $result = $result->security_group_rule;
            }
        }
        return $result;
    }