public function getPublicIpForNatGateway($natGatewayId) { $cacheKey = 'Ec2Repository->getPublicIpForNatGateway:' . $natGatewayId; return StaticCache::get($cacheKey, function () use($natGatewayId) { // Find the Elastic IP address attached to this NAT Gateway $ec2Client = \AwsInspector\SdkFactory::getClient('ec2'); /* @var $ec2Client \Aws\Ec2\Ec2Client */ $results = $ec2Client->describeNatGateways(['NatGatewayIds' => [$natGatewayId]]); $natGateway = $results->search('NatGateways'); return $natGateway[0]['NatGatewayAddresses'][0]['PublicIp']; }); }