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; } }