| 
<?phpnamespace Aws\CloudHsm;
 
 use Aws\Api\ApiProvider;
 use Aws\Api\DocModel;
 use Aws\Api\Service;
 use Aws\AwsClient;
 
 /**
 * This client is used to interact with **AWS CloudHSM**.
 *
 * @method \Aws\Result createHapg(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createHapgAsync(array $args = [])
 * @method \Aws\Result createHsm(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createHsmAsync(array $args = [])
 * @method \Aws\Result createLunaClient(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLunaClientAsync(array $args = [])
 * @method \Aws\Result deleteHapg(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteHapgAsync(array $args = [])
 * @method \Aws\Result deleteHsm(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteHsmAsync(array $args = [])
 * @method \Aws\Result deleteLunaClient(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLunaClientAsync(array $args = [])
 * @method \Aws\Result describeHapg(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeHapgAsync(array $args = [])
 * @method \Aws\Result describeHsm(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeHsmAsync(array $args = [])
 * @method \Aws\Result describeLunaClient(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLunaClientAsync(array $args = [])
 * @method \Aws\Result getConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getConfigAsync(array $args = [])
 * @method \Aws\Result listAvailableZones(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listAvailableZonesAsync(array $args = [])
 * @method \Aws\Result listHapgs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listHapgsAsync(array $args = [])
 * @method \Aws\Result listHsms(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listHsmsAsync(array $args = [])
 * @method \Aws\Result listLunaClients(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listLunaClientsAsync(array $args = [])
 * @method \Aws\Result modifyHapg(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyHapgAsync(array $args = [])
 * @method \Aws\Result modifyHsm(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyHsmAsync(array $args = [])
 * @method \Aws\Result modifyLunaClient(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyLunaClientAsync(array $args = [])
 */
 class CloudHsmClient extends AwsClient
 {
 public function __call($name, array $args)
 {
 // Overcomes a naming collision with `AwsClient::getConfig`.
 if (lcfirst($name) === 'getConfigFiles') {
 $name = 'GetConfig';
 } elseif (lcfirst($name) === 'getConfigFilesAsync') {
 $name = 'GetConfigAsync';
 }
 
 return parent::__call($name, $args);
 }
 
 /**
 * @internal
 * @codeCoverageIgnore
 */
 public static function applyDocFilters(array $api, array $docs)
 {
 // Overcomes a naming collision with `AwsClient::getConfig`.
 $api['operations']['GetConfigFiles'] = $api['operations']['GetConfig'];
 $docs['operations']['GetConfigFiles'] = $docs['operations']['GetConfig'];
 unset($api['operations']['GetConfig'], $docs['operations']['GetConfig']);
 ksort($api['operations']);
 
 return [
 new Service($api, ApiProvider::defaultProvider()),
 new DocModel($docs)
 ];
 }
 }
 
 |