private function addSignatureMiddleware() { $api = $this->getApi(); $provider = $this->signatureProvider; $version = $this->config['signature_version']; $name = $this->config['signing_name']; $region = $this->config['signing_region']; $resolver = static function (CommandInterface $c) use($api, $provider, $name, $region, $version) { if ('none' === $api->getOperation($c->getName())['authtype']) { $version = 'anonymous'; } return SignatureProvider::resolve($provider, $version, $name, $region); }; $this->handlerList->appendSign(Middleware::signer($this->credentialProvider, $resolver), 'signer'); }