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

# Interface ServiceBuilderInterface

Service builder used to store and build clients or arbitrary data. Client configuration data can be supplied to tell the service builder how to create and cache `Guzzle\Service\ClientInterface` objects. Arbitrary data can be supplied and accessed from a service builder. Arbitrary data and other clients can be referenced by name in client configuration arrays to make them input for building other clients (e.g. "{key}").

### Direct known implementers

`Guzzle\Service\Builder\ServiceBuilder`

### Indirect known implementers

`Aws\Common\Aws`

Namespace: Guzzle\Service\Builder
Located at Guzzle/Service/Builder/ServiceBuilderInterface.php

## Methods summary

- `public` `get ( string $name, bool|array $throwAway = false )`

  Get a ClientInterface object or arbitrary data from the service builder

- `public` `set ( string $key, mixed $service )`

  Register a service or arbitrary data by name with the service builder

## Methods detail

# `public `Guzzle\Service\ClientInterface`|mixed`
`get( string $name, boolean|array $throwAway = false )`

Get a ClientInterface object or arbitrary data from the service builder

#### Parameters

$name
  `string`
  $name Name of the registered service or data to retrieve
$throwAway
  `boolean|array`
  $throwAway Only pertains to retrieving client objects built using a configuration array. Set to TRUE to not store the client for later retrieval from the ServiceBuilder. If an array is specified, that data will overwrite the configured params of the client if the client implements `Guzzle\Common\FromConfigInterface` and will not store the client for later retrieval.

#### Returns

``Guzzle\Service\ClientInterface`|mixed`

#### Throws

``Guzzle\Service\Exception\ServiceNotFoundException``
when a client or data cannot be found by the given name
# `public `Guzzle\Service\Builder\ServiceBuilderInterface``
`set( string $key, mixed $service )`

Register a service or arbitrary data by name with the service builder

#### Parameters

$key
  `string`
  $key Name of the client or data to register
$service
  `mixed`
  $service Client configuration array or arbitrary data to register. The client configuration array must include a 'class' (string) and 'params' (array) key.

#### Returns

``Guzzle\Service\Builder\ServiceBuilderInterface``

### Magic methods summary