| line | true | false | branch | 
 
| 65 | 2 | 12 | if ($pra eq $rb) { } | 
 
|  | 1 | 11 | elsif ($prb eq $ra) { } | 
 
|  | 1 | 10 | elsif ($pra and not $prb) { } | 
 
|  | 3 | 7 | elsif ($prb and not $pra) { } | 
 
| 119 | 10 | 15 | if $ropts{'data'} | 
 
| 149 | 4 | 12 | if $name =~ /$IDREG/ or $operation eq 'region' | 
 
| 155 | 7 | 5 | if $opts{'msg'} | 
 
| 158 | 12 | 0 | if ($resp) { } | 
 
| 159 | 0 | 12 | unless $resp->result | 
 
| 160 | 0 | 12 | if (scalar @ids > 1) { } | 
 
|  | 12 | 0 | elsif (@ids) { } | 
 
| 167 | 0 | 0 | $opts{'error'} ? : | 
 
| 181 | 4 | 7 | $operation eq 'region' ? : | 
 
| 188 | 3 | 5 | if ($operation eq 'endpoint') { } | 
 
| 208 | 1 | 2 | unless ($_tagstores->{$tagstore_proj}) | 
 
| 212 | 1 | 0 | if ($resp) { } | 
 
| 214 | 0 | 1 | if (scalar @proj > 1) { } | 
 
|  | 1 | 0 | elsif (scalar @proj == 1) { } | 
 
| 223 | 0 | 0 | if ($resp) { } | 
 
| 241 | 1 | 0 | if ($tgst) { } | 
 
| 263 | 7 | 0 | if (exists $result->{'id'}) { } | 
 
| 267 | 6 | 1 | if ($phase eq 'create' or $phase eq 'delete') { } | 
 
| 268 | 4 | 2 | $phase eq 'create' ? : | 
 
| 274 | 7 | 0 | if ($ok) { } | 
 
| 343 | 0 | 3 | unless (grep {$_ eq $operation;} @SUPPORTED_OPERATIONS) | 
 
| 349 | 2 | 1 | if $opts{'tagstore'} | 
 
| 352 | 1 | 2 | if ($opts{'filter'}) { } | 
 
|  | 2 | 0 | elsif ($tagstore) { } | 
 
| 354 | 0 | 1 | if (ref $filter ne 'CODE') | 
 
| 370 | 0 | 3 | unless $resp_list->result | 
 
| 378 | 9 | 0 | unless exists $items->{$want}{'enabled'} | 
 
| 390 | 1 | 2 | if $parentattr | 
 
| 399 | 2 | 1 | if $tagstore | 
 
| 401 | 0 | 3 | unless my $created = $self->api_identity_create($operation, \@tocreate, $items, $res, $postprocess) | 
 
| 404 | 0 | 3 | unless $self->api_identity_update($operation, \@checkupdate, $found, $items, $res, $postprocess) | 
 
| 408 | 0 | 3 | unless $self->api_identity_delete($operation, \@toremove, $found, \%opts, $res, $postprocess) | 
 
| 436 | 6 | 3 | if ($operation ne 'endpoint') | 
 
| 445 | 3 | 6 | if $PARENT_ATTR{$operation} | 
 
| 449 | 79 | 5 | unless exists $new->{$attr} | 
 
| 452 | 5 | 0 | if (defined $resolved) { } | 
 
| 477 | 10 | 0 | if ($resp) { } | 
 
| 481 | 7 | 3 | if ($postprocess) | 
 
| 482 | 0 | 7 | unless &$postprocess($phase, $operation, $name, $result) | 
 
| 522 | 3 | 0 | if (@tocreate) { } | 
 
| 526 | 0 | 5 | unless my $new = $self->api_identity_get_item($operation, $name, $items) | 
 
| 528 | 0 | 5 | unless _process_response($self, 'create', $resp, $res, $operation, $name, $postprocess) | 
 
| 551 | 2 | 1 | if (@checkupdate) { } | 
 
| 557 | 0 | 4 | unless my $update_data = $self->api_identity_get_item($operation, $name, $items) | 
 
| 561 | 4 | 12 | $attr eq 'enabled' ? : | 
 
| 563 | 2 | 14 | if $action | 
 
| 565 | 2 | 2 | if (scalar keys %$update) | 
 
| 568 | 0 | 2 | unless _process_response($self, 'update', $resp, $res, $operation, $name, $postprocess) | 
 
| 571 | 2 | 0 | @toupdate ? : | 
 
| 596 | 0 | 3 | $opts->{'delete'} ? : | 
 
| 598 | 3 | 0 | if (@toremove) { } | 
 
| 599 | 0 | 3 | if ($opts->{'ignore'}) { } | 
 
| 605 | 0 | 4 | if ($opts->{'delete'}) { } | 
 
| 611 | 3 | 1 | if ($found->{$name}{'enabled'}) { } | 
 
| 621 | 3 | 1 | if (defined $resp) | 
 
| 622 | 0 | 3 | unless _process_response($self, 'delete', $resp, $res, $operation, $name, $postprocess) | 
 
| 685 | 1 | 0 | if ($opts{'tagstore'}) | 
 
| 686 | 1 | 0 | if $opts{'tagstore'} | 
 
| 695 | 0 | 2 | unless $roles->{$base} | 
 
| 696 | 0 | 2 | unless my $bid = $self->api_identity_get_id($base, $bval, 'error', 1, 'msg', 'for role sync') | 
 
| 699 | 2 | 2 | unless $roles->{$base}{$bval}{$who} | 
 
| 700 | 0 | 2 | unless my $wid = $self->api_identity_get_id($who, $wval, 'error', 1, 'msg', 'for role sync') | 
 
| 703 | 0 | 3 | unless my $rid = $self->api_identity_get_id('role', $role, 'error', 1, 'msg', 'for role sync') | 
 
| 717 | 2 | 0 | if (@$urls) { } | 
 
| 726 | 3 | 0 | if ($resp) { } | 
 
| 727 | 3 | 0 | if ($tagstore) | 
 
| 729 | 0 | 3 | unless ($tagstore->$tagmethod($tag)) | 
 
| 745 | 0 | 1 | unless &$rest(\@tocreate, 'PUT', 'add') | 
 
| 749 | 0 | 1 | unless &$rest(\@toremove, 'DELETE', 'delete') |