src/Transform/BucketInventory.php (105 lines of code) (raw):
<?php
declare(strict_types=1);
namespace AlibabaCloud\Oss\V2\Transform;
use AlibabaCloud\Oss\V2\OperationInput;
use AlibabaCloud\Oss\V2\OperationOutput;
use AlibabaCloud\Oss\V2\Models;
use AlibabaCloud\Oss\V2\Deserializer;
use AlibabaCloud\Oss\V2\Serializer;
/**
* Class BucketInventory
* @package AlibabaCloud\Oss\V2\Transform
*/
final class BucketInventory
{
/**
* @param Models\PutBucketInventoryRequest $request
* @return OperationInput
*/
public static function fromPutBucketInventory(Models\PutBucketInventoryRequest $request): OperationInput
{
$input = new OperationInput(
'PutBucketInventory',
'PUT',
['Content-Type' => 'application/xml']
);
$input->setParameter('inventory', '');
$input->setBucket($request->bucket ?? '');
$input->setOpMetadata('sub-resource', ['inventory', 'inventoryId']);
$customSerializer = [
[Functions::class, 'addContentMd5']
];
Serializer::serializeInput($request, $input, $customSerializer);
return $input;
}
/**
* @param OperationOutput $output
* @return Models\PutBucketInventoryResult
*/
public static function toPutBucketInventory(OperationOutput $output): Models\PutBucketInventoryResult
{
$result = new Models\PutBucketInventoryResult();
Deserializer::deserializeOutput($result, $output);
return $result;
}
/**
* @param Models\GetBucketInventoryRequest $request
* @return OperationInput
*/
public static function fromGetBucketInventory(Models\GetBucketInventoryRequest $request): OperationInput
{
$input = new OperationInput(
'GetBucketInventory',
'GET',
['Content-Type' => 'application/xml']
);
$input->setParameter('inventory', '');
$input->setBucket($request->bucket ?? '');
$input->setOpMetadata('sub-resource', ['inventory', 'inventoryId']);
$customSerializer = [
[Functions::class, 'addContentMd5']
];
Serializer::serializeInput($request, $input, $customSerializer);
return $input;
}
/**
* @param OperationOutput $output
* @return Models\GetBucketInventoryResult
*/
public static function toGetBucketInventory(OperationOutput $output): Models\GetBucketInventoryResult
{
$result = new Models\GetBucketInventoryResult();
$customDeserializer = [
[Deserializer::class, 'deserializeOutputBody'],
];
Deserializer::deserializeOutput($result, $output, $customDeserializer);
return $result;
}
/**
* @param Models\ListBucketInventoryRequest $request
* @return OperationInput
*/
public static function fromListBucketInventory(Models\ListBucketInventoryRequest $request): OperationInput
{
$input = new OperationInput(
'ListBucketInventory',
'GET',
['Content-Type' => 'application/xml']
);
$input->setParameter('inventory', '');
$input->setBucket($request->bucket ?? '');
$input->setOpMetadata('sub-resource', ['inventory',]);
$customSerializer = [
[Functions::class, 'addContentMd5']
];
Serializer::serializeInput($request, $input, $customSerializer);
return $input;
}
/**
* @param OperationOutput $output
* @return Models\ListBucketInventoryResult
*/
public static function toListBucketInventory(OperationOutput $output): Models\ListBucketInventoryResult
{
$result = new Models\ListBucketInventoryResult();
$customDeserializer = [
[Deserializer::class, 'deserializeOutputBody'],
];
Deserializer::deserializeOutput($result, $output, $customDeserializer);
return $result;
}
/**
* @param Models\DeleteBucketInventoryRequest $request
* @return OperationInput
*/
public static function fromDeleteBucketInventory(Models\DeleteBucketInventoryRequest $request): OperationInput
{
$input = new OperationInput(
'DeleteBucketInventory',
'DELETE',
['Content-Type' => 'application/xml']
);
$input->setParameter('inventory', '');
$input->setBucket($request->bucket ?? '');
$input->setOpMetadata('sub-resource', ['inventory', 'inventoryId']);
$customSerializer = [
[Functions::class, 'addContentMd5']
];
Serializer::serializeInput($request, $input, $customSerializer);
return $input;
}
/**
* @param OperationOutput $output
* @return Models\DeleteBucketInventoryResult
*/
public static function toDeleteBucketInventory(OperationOutput $output): Models\DeleteBucketInventoryResult
{
$result = new Models\DeleteBucketInventoryResult();
Deserializer::deserializeOutput($result, $output);
return $result;
}
}