NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class WaiterConfigFactory

Factory for creating `Aws\Common\Waiter\WaiterInterface` objects using a configuration DSL.

  Aws\Common\Waiter\WaiterConfigFactory implements Aws\Common\Waiter\WaiterFactoryInterface

Namespace: Aws\Common\Waiter
Located at Aws/Common/Waiter/WaiterConfigFactory.php

## Methods summary

- `public` `__construct ( array $config, Guzzle\Inflection\InflectorInterface $inflector = null )`
- `public` `build ( string $waiter )`

  Create a waiter by name

- `public` `canBuild ( string $waiter )`

  Check if the factory can create a waiter by a specific name

- `protected` `getWaiterConfig ( string $name )`

  Get waiter configuration data, taking __default__ and extensions into account

## Methods detail

# `public`
`__construct( array $config, `Guzzle\Inflection\InflectorInterface` $inflector = null )`

#### Parameters

$config
  `array`
  $config Array of configuration directives
$inflector
  ``Guzzle\Inflection\InflectorInterface``
  $inflector Inflector used to resolve class names

# `public `Aws\Common\Waiter\WaiterInterface``
`build( string $waiter )`

Create a waiter by name

#### Parameters

$waiter
  `string`
  $waiter Name of the waiter to create

#### Returns

``Aws\Common\Waiter\WaiterInterface``

#### Implementation of

`Aws\Common\Waiter\WaiterFactoryInterface::build()`
# `public boolean`
`canBuild( string $waiter )`

Check if the factory can create a waiter by a specific name

#### Parameters

$waiter
  `string`
  $waiter Name of the waiter to check

#### Returns

`boolean`

#### Implementation of

`Aws\Common\Waiter\WaiterFactoryInterface::canBuild()`
# `protected `Aws\Common\Waiter\WaiterConfig``
`getWaiterConfig( string $name )`

Get waiter configuration data, taking __default__ and extensions into account

#### Parameters

$name
  `string`
  $name Waiter name

#### Returns

``Aws\Common\Waiter\WaiterConfig``

#### Throws

``Aws\Common\Exception\InvalidArgumentException``

### Magic methods summary

## Properties summary

`protected array` | $config | # Configuration directives
`protected `Guzzle\Inflection\InflectorInterface`` | $inflector | # Inflector used to inflect class names