[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class DrydockManagementReleaseWorkflow 4 extends DrydockManagementWorkflow { 5 6 public function didConstruct() { 7 $this 8 ->setName('release') 9 ->setSynopsis('Release a lease.') 10 ->setArguments( 11 array( 12 array( 13 'name' => 'ids', 14 'wildcard' => true, 15 ), 16 )); 17 } 18 19 public function execute(PhutilArgumentParser $args) { 20 $console = PhutilConsole::getConsole(); 21 22 $ids = $args->getArg('ids'); 23 if (!$ids) { 24 throw new PhutilArgumentUsageException( 25 'Specify one or more lease IDs to release.'); 26 } 27 28 $viewer = $this->getViewer(); 29 30 $leases = id(new DrydockLeaseQuery()) 31 ->setViewer($viewer) 32 ->withIDs($ids) 33 ->execute(); 34 35 foreach ($ids as $id) { 36 $lease = idx($leases, $id); 37 if (!$lease) { 38 $console->writeErr("Lease %d does not exist!\n", $id); 39 } else if ($lease->getStatus() != DrydockLeaseStatus::STATUS_ACTIVE) { 40 $console->writeErr("Lease %d is not 'active'!\n", $id); 41 } else { 42 $resource = $lease->getResource(); 43 $blueprint = $resource->getBlueprint(); 44 $blueprint->releaseLease($resource, $lease); 45 46 $console->writeErr("Released lease %d.\n", $id); 47 } 48 } 49 50 } 51 52 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |