Image Members
Image member is a project which can access a given VM image within Image service.
More information can be found in the official documentation.
In order to work with image members you have to create the service first.
Create
$service = $openstack->imagesV2();
$image = $service->getImage('{imageId}');
$member = $image->addMember('{projectId}');
Read
$service = $openstack->imagesV2();
$image = $service->getImage('{imageId}');
$member = $image->getMember('{projectId}');
$member->retrieve();
Delete
$service = $openstack->imagesV2();
$image = $service->getImage('{imageId}');
$member = $image->getMember('{projectId}');
$member->delete();
List
$service = $openstack->imagesV2();
$image = $service->getImage('{imageId}');
foreach ($image->listMembers() as $member) {
}
By default, PHP generators are used to represent collections of resources in the SDK. The benefit of using
generators is that it generally improves performance, since objects are not saved in memory as the iteration cycle goes
on; instead, each resource is directly output to the user-defined foreach
loop. For all intents and purposes, you
interact with generators like any other Traversable object, but to retain collections in memory, you will need to
implement your own logic.
Update Status
$service = $openstack->imagesV2();
$image = $service->getImage('{imageId}');
$member = $image->getMember('{projectId}');
$member->updateStatus(Member::STATUS_ACCEPTED);