in src/Transform/BucketBasic.php [347:391]
public static function toGetBucketInfo(OperationOutput $output): Models\GetBucketInfoResult
{
$result = new Models\GetBucketInfoResult();
$customDeserializer = [
static function (Models\GetBucketInfoResult $result, OperationOutput $output) {
$body = $output->getBody() != null ? $output->getBody()->getContents() : '';
Functions::assertXmlRoot($body, 'BucketInfo');
$xml = Utils::parseXml($body);
Functions::assertXmlNodeExist($xml->Bucket, 'Bucket');
$info = new Models\BucketInfo();
$xml = $xml->Bucket;
$info->name = Functions::tryToString($xml->Name);
$info->accessMonitor = Functions::tryToString($xml->AccessMonitor);
$info->location = Functions::tryToString($xml->Location);
$info->creationDate = Functions::tryToDatetime($xml->CreationDate, 'Y-m-d\TH:i:s.000\Z');
$info->extranetEndpoint = Functions::tryToString($xml->ExtranetEndpoint);
$info->intranetEndpoint = Functions::tryToString($xml->IntranetEndpoint);
$info->acl = isset($xml->AccessControlList) ? Functions::tryToString($xml->AccessControlList->Grant) : null;
$info->dataRedundancyType = Functions::tryToString($xml->DataRedundancyType);
$info->owner = isset($xml->Owner) ? new Models\Owner(
Functions::tryToString($xml->Owner->ID),
Functions::tryToString($xml->Owner->DisplayName)
) : null;
$info->storageClass = Functions::tryToString($xml->StorageClass);
$info->resourceGroupId = Functions::tryToString($xml->ResourceGroupId);
$info->sseRule = isset($xml->ServerSideEncryptionRule) ? new Models\ServerSideEncryptionRuleInfo(
Functions::tryToString($xml->ServerSideEncryptionRule->KMSMasterKeyID),
Functions::tryToString($xml->ServerSideEncryptionRule->SSEAlgorithm),
Functions::tryToString($xml->ServerSideEncryptionRule->KMSDataEncryption),
) : null;
$info->versioning = Functions::tryToString($xml->Versioning);
$info->transferAcceleration = Functions::tryToString($xml->TransferAcceleration);
$info->crossRegionReplication = Functions::tryToString($xml->CrossRegionReplication);
$info->bucketPolicy = isset($xml->BucketPolicy) ? new Models\BucketPolicy(
Functions::tryToString($xml->BucketPolicy->LogBucket),
Functions::tryToString($xml->BucketPolicy->LogPrefix)
) : null;
$info->comment = Functions::tryToString($xml->Comment);
$info->blockPublicAccess = Functions::tryToBool($xml->BlockPublicAccess);
$result->bucketInfo = $info;
},
];
Deserializer::deserializeOutput($result, $output, $customDeserializer);
return $result;
}