def METHOD_NAME(self, conf):
    """
        Looks for configuration at security group ingress rules:
        https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/compute_secgroup_v2
        https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/networking_secgroup_rule_v2
        Return PASS if:
        - the resource is an openstack_compute_secgroup_v2 that contains no violating rules (including if there are
          no rules at all), OR
        - the resource is an openstack_networking_secgroup_rule_v2 of type 'ingress' that does not violate the
          check.
        Return FAIL if:
        - the resource is an openstack_compute_secgroup_v2 that contains a violating rule, OR
        - the resource is an openstack_networking_secgroup_rule_v2 of type 'ingress' that violates the check.
        Return UNKNOWN if:
        - the resource is an openstack_networking_secgroup_rule_v2 of type 'egress'
    :param conf: openstack_compute_secgroup_v2|openstack_networking_secgroup_rule_v2 configuration
    :return: <CheckResult>
    """
    if 'rule' in conf:  # This means it's an SG resource with rule block(s)
        rules = conf['rule']
        for rule in rules:
            if isinstance(rule, dict) and self.contains_violation(rule, 'ip_protocol', 'from_port', 'to_port',
                                                                  'cidr'):
                self.evaluated_keys = [
                    f'rule/[{rules.index(rule)}]/ip_protocol',
                    f'rule/[{rules.index(rule)}]/from_port',
                    f'rule/[{rules.index(rule)}]/to_port',
                    f'rule/[{rules.index(rule)}]/cidr',
                ]
                return CheckResult.FAILED
        return CheckResult.PASSED
    if 'direction' in conf:  # This means it's an SG_rule resource.
        direction = force_list(conf['direction'])[0]
        if direction == 'ingress':
            self.evaluated_keys = ['protocol', 'port_range_min', 'port_range_max', 'remote_ip_prefix']
            if self.contains_violation(conf, 'protocol', 'port_range_min', 'port_range_max', 'remote_ip_prefix'):
                return CheckResult.FAILED
            return CheckResult.PASSED
        return CheckResult.UNKNOWN
    # The result for an SG with no ingress block
    return CheckResult.PASSED