%PDF- %PDF-
| Direktori : /www/varak.net/nextcloud.varak.net/3rdparty/php-opencloud/openstack/src/Images/v2/Models/ |
| Current File : /www/varak.net/nextcloud.varak.net/3rdparty/php-opencloud/openstack/src/Images/v2/Models/Member.php |
<?php
declare(strict_types=1);
namespace OpenStack\Images\v2\Models;
use OpenStack\Common\Resource\Alias;
use OpenStack\Common\Resource\Creatable;
use OpenStack\Common\Resource\Deletable;
use OpenStack\Common\Resource\Listable;
use OpenStack\Common\Resource\OperatorResource;
use OpenStack\Common\Resource\Retrievable;
/**
* @property \OpenStack\Images\v2\Api $api
*/
class Member extends OperatorResource implements Creatable, Listable, Retrievable, Deletable
{
public const STATUS_ACCEPTED = 'accepted';
public const STATUS_PENDING = 'pending';
public const STATUS_REJECTED = 'rejected';
/** @var string */
public $imageId;
/** @var string */
public $id;
/** @var \DateTimeImmutable */
public $createdAt;
/** @var \DateTimeImmutable */
public $updatedAt;
/** @var string */
public $schemaUri;
/** @var string */
public $status;
protected $aliases = [
'member_id' => 'id',
'image_id' => 'imageId',
];
protected function getAliases(): array
{
return parent::getAliases() + [
'created_at' => new Alias('createdAt', \DateTimeImmutable::class),
'updated_at' => new Alias('updatedAt', \DateTimeImmutable::class),
];
}
public function create(array $userOptions): Creatable
{
$response = $this->executeWithState($this->api->postImageMembers());
return $this->populateFromResponse($response);
}
public function retrieve()
{
$response = $this->executeWithState($this->api->getImageMember());
$this->populateFromResponse($response);
}
public function delete()
{
$this->executeWithState($this->api->deleteImageMember());
}
public function updateStatus($status)
{
$this->status = $status;
$this->executeWithState($this->api->putImageMember());
}
}