| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- <?php
- namespace AsyncAws\S3\Result;
- use AsyncAws\Core\Response;
- use AsyncAws\Core\Result;
- use AsyncAws\S3\Enum\RequestCharged;
- use AsyncAws\S3\Enum\ServerSideEncryption;
- class UploadPartOutput extends Result
- {
- /**
- * The server-side encryption algorithm used when storing this object in Amazon S3 (for example, `AES256`, `aws:kms`).
- */
- private $serverSideEncryption;
- /**
- * Entity tag for the uploaded object.
- */
- private $etag;
- /**
- * The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded with the
- * object. With multipart uploads, this may not be a checksum value of the object. For more information about how
- * checksums are calculated with multipart uploads, see Checking object integrity [^1] in the *Amazon S3 User Guide*.
- *
- * [^1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
- */
- private $checksumCrc32;
- /**
- * The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded with the
- * object. With multipart uploads, this may not be a checksum value of the object. For more information about how
- * checksums are calculated with multipart uploads, see Checking object integrity [^1] in the *Amazon S3 User Guide*.
- *
- * [^1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
- */
- private $checksumCrc32C;
- /**
- * The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded with the object.
- * With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are
- * calculated with multipart uploads, see Checking object integrity [^1] in the *Amazon S3 User Guide*.
- *
- * [^1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
- */
- private $checksumSha1;
- /**
- * The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded with the
- * object. With multipart uploads, this may not be a checksum value of the object. For more information about how
- * checksums are calculated with multipart uploads, see Checking object integrity [^1] in the *Amazon S3 User Guide*.
- *
- * [^1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
- */
- private $checksumSha256;
- /**
- * If server-side encryption with a customer-provided encryption key was requested, the response will include this
- * header confirming the encryption algorithm used.
- */
- private $sseCustomerAlgorithm;
- /**
- * If server-side encryption with a customer-provided encryption key was requested, the response will include this
- * header to provide round-trip message integrity verification of the customer-provided encryption key.
- */
- private $sseCustomerKeyMd5;
- /**
- * If present, specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key was used
- * for the object.
- */
- private $sseKmsKeyId;
- /**
- * Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service
- * (KMS) keys (SSE-KMS).
- */
- private $bucketKeyEnabled;
- private $requestCharged;
- public function getBucketKeyEnabled(): ?bool
- {
- $this->initialize();
- return $this->bucketKeyEnabled;
- }
- public function getChecksumCrc32(): ?string
- {
- $this->initialize();
- return $this->checksumCrc32;
- }
- public function getChecksumCrc32C(): ?string
- {
- $this->initialize();
- return $this->checksumCrc32C;
- }
- public function getChecksumSha1(): ?string
- {
- $this->initialize();
- return $this->checksumSha1;
- }
- public function getChecksumSha256(): ?string
- {
- $this->initialize();
- return $this->checksumSha256;
- }
- public function getEtag(): ?string
- {
- $this->initialize();
- return $this->etag;
- }
- /**
- * @return RequestCharged::*|null
- */
- public function getRequestCharged(): ?string
- {
- $this->initialize();
- return $this->requestCharged;
- }
- /**
- * @return ServerSideEncryption::*|null
- */
- public function getServerSideEncryption(): ?string
- {
- $this->initialize();
- return $this->serverSideEncryption;
- }
- public function getSseCustomerAlgorithm(): ?string
- {
- $this->initialize();
- return $this->sseCustomerAlgorithm;
- }
- public function getSseCustomerKeyMd5(): ?string
- {
- $this->initialize();
- return $this->sseCustomerKeyMd5;
- }
- public function getSseKmsKeyId(): ?string
- {
- $this->initialize();
- return $this->sseKmsKeyId;
- }
- protected function populateResult(Response $response): void
- {
- $headers = $response->getHeaders();
- $this->serverSideEncryption = $headers['x-amz-server-side-encryption'][0] ?? null;
- $this->etag = $headers['etag'][0] ?? null;
- $this->checksumCrc32 = $headers['x-amz-checksum-crc32'][0] ?? null;
- $this->checksumCrc32C = $headers['x-amz-checksum-crc32c'][0] ?? null;
- $this->checksumSha1 = $headers['x-amz-checksum-sha1'][0] ?? null;
- $this->checksumSha256 = $headers['x-amz-checksum-sha256'][0] ?? null;
- $this->sseCustomerAlgorithm = $headers['x-amz-server-side-encryption-customer-algorithm'][0] ?? null;
- $this->sseCustomerKeyMd5 = $headers['x-amz-server-side-encryption-customer-key-md5'][0] ?? null;
- $this->sseKmsKeyId = $headers['x-amz-server-side-encryption-aws-kms-key-id'][0] ?? null;
- $this->bucketKeyEnabled = isset($headers['x-amz-server-side-encryption-bucket-key-enabled'][0]) ? filter_var($headers['x-amz-server-side-encryption-bucket-key-enabled'][0], \FILTER_VALIDATE_BOOLEAN) : null;
- $this->requestCharged = $headers['x-amz-request-charged'][0] ?? null;
- }
- }
|