| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <?php
- namespace AsyncAws\S3\Input;
- use AsyncAws\Core\Exception\InvalidArgument;
- use AsyncAws\Core\Input;
- use AsyncAws\Core\Request;
- use AsyncAws\Core\Stream\StreamFactory;
- final class DeleteBucketRequest extends Input
- {
- /**
- * Specifies the bucket being deleted.
- *
- * @required
- *
- * @var string|null
- */
- private $bucket;
- /**
- * The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with
- * the HTTP status code `403 Forbidden` (access denied).
- *
- * @var string|null
- */
- private $expectedBucketOwner;
- /**
- * @param array{
- * Bucket?: string,
- * ExpectedBucketOwner?: string,
- *
- * @region?: string,
- * } $input
- */
- public function __construct(array $input = [])
- {
- $this->bucket = $input['Bucket'] ?? null;
- $this->expectedBucketOwner = $input['ExpectedBucketOwner'] ?? null;
- parent::__construct($input);
- }
- public static function create($input): self
- {
- return $input instanceof self ? $input : new self($input);
- }
- public function getBucket(): ?string
- {
- return $this->bucket;
- }
- public function getExpectedBucketOwner(): ?string
- {
- return $this->expectedBucketOwner;
- }
- /**
- * @internal
- */
- public function request(): Request
- {
- // Prepare headers
- $headers = ['content-type' => 'application/xml'];
- if (null !== $this->expectedBucketOwner) {
- $headers['x-amz-expected-bucket-owner'] = $this->expectedBucketOwner;
- }
- // Prepare query
- $query = [];
- // Prepare URI
- $uri = [];
- if (null === $v = $this->bucket) {
- throw new InvalidArgument(sprintf('Missing parameter "Bucket" for "%s". The value cannot be null.', __CLASS__));
- }
- $uri['Bucket'] = $v;
- $uriString = '/' . rawurlencode($uri['Bucket']);
- // Prepare Body
- $body = '';
- // Return the Request
- return new Request('DELETE', $uriString, $query, $headers, StreamFactory::create($body));
- }
- public function setBucket(?string $value): self
- {
- $this->bucket = $value;
- return $this;
- }
- public function setExpectedBucketOwner(?string $value): self
- {
- $this->expectedBucketOwner = $value;
- return $this;
- }
- }
|