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

# Class SsmClient

Client to interact with Amazon Simple Systems Management Service

  Guzzle\Common\AbstractHasDispatcher implements Guzzle\Common\HasDispatcherInterface
  Guzzle\Http\Client implements Guzzle\Http\ClientInterface
  Guzzle\Service\Client implements Guzzle\Service\ClientInterface
  Aws\Common\Client\AbstractClient implements Aws\Common\Client\AwsClientInterface
  Aws\Ssm\SsmClient

Namespace: Aws\Ssm
Link: User guide
Link: API docs
Located at Aws/Ssm/SsmClient.php

## Methods summary

- `public static` `factory ( array|Collection $config = array() )`

  Factory method to create a new Amazon Simple Systems Management Service client using an array of configuration options.

- `public` `createAssociation ( array $args = array() )`

  Executes the CreateAssociation operation.

- `public` `createAssociationBatch ( array $args = array() )`

  Executes the CreateAssociationBatch operation.

- `public` `createDocument ( array $args = array() )`

  Executes the CreateDocument operation.

- `public` `deleteAssociation ( array $args = array() )`

  Executes the DeleteAssociation operation.

- `public` `deleteDocument ( array $args = array() )`

  Executes the DeleteDocument operation.

- `public` `describeAssociation ( array $args = array() )`

  Executes the DescribeAssociation operation.

- `public` `describeDocument ( array $args = array() )`

  Executes the DescribeDocument operation.

- `public` `getDocument ( array $args = array() )`

  Executes the GetDocument operation.

- `public` `listAssociations ( array $args = array() )`

  Executes the ListAssociations operation.

- `public` `listDocuments ( array $args = array() )`

  Executes the ListDocuments operation.

- `public` `updateAssociationStatus ( array $args = array() )`

  Executes the UpdateAssociationStatus operation.

## Methods detail

# `public static `Aws\Ssm\SsmClient``
`factory( array|`Guzzle\Common\Collection` $config = array() )`

Factory method to create a new Amazon Simple Systems Management Service client using an array of configuration options.

See http://docs.aws.amazon.com/aws-sdk-php/v2/guide/configuration.html#client-configuration-options

#### Parameters

$config
  `array|`Guzzle\Common\Collection``
  $config Client configuration data

#### Returns

``Aws\Ssm\SsmClient``

#### Link

http://docs.aws.amazon.com/aws-sdk-php/v2/guide/configuration.html#client-configuration-options

#### Overrides

`Guzzle\Service\Client::factory`
# `public `Guzzle\Service\Resource\Model``
`createAssociation( array $args = array() )`

Executes the CreateAssociation operation.

Associates the specified configuration document with the specified instance.

When you associate a configuration document with an instance, the configuration agent on the instance processes the configuration document and configures the instance as specified.

If you associate a configuration document with an instance that already has an associated configuration document, we replace the current configuration document with the new configuration document.

#### Examples

- Basic formatting example

      $result = $client->createAssociation(array(
          // Name is required
          'Name' => 'string',
          // InstanceId is required
          'InstanceId' => 'string',
          'Parameters' => array(
              // Associative array of custom 'ParameterName' key names
              'ParameterName' => array('string', ... ),
              // ... repeated
          ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Name => (string)

    The name of the configuration document.

  - InstanceId => (string)

    The ID of the instance.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- AssociationDescription => (associative-array)

  Information about the association.

  - Name => (string)

    The name of the configuration document.

  - InstanceId => (string)

    The ID of the instance.

  - Date => (string)

    The date when the association was made.

  - Status => (associative-array)

    The association status.

    - Date => (string)

      The date when the status changed.

    - Name => (string)

      The status.

    - Message => (string)

      The reason for the status.

    - AdditionalInfo => (string)

      A user-defined string.

# `public `Guzzle\Service\Resource\Model``
`createAssociationBatch( array $args = array() )`

Executes the CreateAssociationBatch operation.

Associates the specified configuration documents with the specified instances.

When you associate a configuration document with an instance, the configuration agent on the instance processes the configuration document and configures the instance as specified.

If you associate a configuration document with an instance that already has an associated configuration document, we replace the current configuration document with the new configuration document.

#### Examples

- Basic formatting example

      $result = $client->createAssociationBatch(array(
          // Entries is required
          'Entries' => array(
              array(
                  'Name' => 'string',
                  'InstanceId' => 'string',
                  'Parameters' => array(
                      // Associative array of custom 'ParameterName' key names
                      'ParameterName' => array('string', ... ),
                      // ... repeated
                  ),
              ),
              // ... repeated
          ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Entries => (array<associative-array>)

    One or more associations.

    - (associative-array)

      Describes the association of a configuration document and an instance.

      - Name => (string)

        The name of the configuration document.

      - InstanceId => (string)

        The ID of the instance.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Successful => (array<associative-array>)

  Information about the associations that succeeded.

  - (associative-array)

    Describes an association.

    - Name => (string)

      The name of the configuration document.

    - InstanceId => (string)

      The ID of the instance.

    - Date => (string)

      The date when the association was made.

    - Status => (associative-array)

      The association status.

      - Date => (string)

        The date when the status changed.

      - Name => (string)

        The status.

      - Message => (string)

        The reason for the status.

      - AdditionalInfo => (string)

        A user-defined string.

- Failed => (array<associative-array>)

  Information about the associations that failed.

  - (associative-array)

    Describes a failed association.

    - Entry => (associative-array)

      The association.

      - Name => (string)

        The name of the configuration document.

      - InstanceId => (string)

        The ID of the instance.

    - Message => (string)

      A description of the failure.

    - Fault => (string)

      The source of the failure.

# `public `Guzzle\Service\Resource\Model``
`createDocument( array $args = array() )`

Executes the CreateDocument operation.

Creates a configuration document.

After you create a configuration document, you can use CreateAssociation to associate it with one or more running instances.

#### Examples

- Basic formatting example

      $result = $client->createDocument(array(
          // Content is required
          'Content' => 'string',
          // Name is required
          'Name' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Content => (string)

    A valid JSON file. For more information about the contents of this file, see Configuration Document.

  - Name => (string)

    A name for the configuration document.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- DocumentDescription => (associative-array)

  Information about the configuration document.

  - Sha1 => (string)

    The SHA1 hash of the document, which you can use for verification purposes.

  - Name => (string)

    The name of the configuration document.

  - CreatedDate => (string)

    The date when the configuration document was created.

  - Status => (string)

    The status of the configuration document.

# `public `Guzzle\Service\Resource\Model``
`deleteAssociation( array $args = array() )`

Executes the DeleteAssociation operation.

Disassociates the specified configuration document from the specified instance.

When you disassociate a configuration document from an instance, it does not change the configuration of the instance. To change the configuration state of an instance after you disassociate a configuration document, you must create a new configuration document with the desired configuration and associate it with the instance.

#### Examples

- Basic formatting example

      $result = $client->deleteAssociation(array(
          // Name is required
          'Name' => 'string',
          // InstanceId is required
          'InstanceId' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Name => (string)

    The name of the configuration document.

  - InstanceId => (string)

    The ID of the instance.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteDocument( array $args = array() )`

Executes the DeleteDocument operation.

Deletes the specified configuration document.

You must use DeleteAssociation to disassociate all instances that are associated with the configuration document before you can delete it.

#### Examples

- Basic formatting example

      $result = $client->deleteDocument(array(
          // Name is required
          'Name' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Name => (string)

    The name of the configuration document.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`describeAssociation( array $args = array() )`

Executes the DescribeAssociation operation.

Describes the associations for the specified configuration document or instance.

#### Examples

- Basic formatting example

      $result = $client->describeAssociation(array(
          // Name is required
          'Name' => 'string',
          // InstanceId is required
          'InstanceId' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Name => (string)

    The name of the configuration document.

  - InstanceId => (string)

    The ID of the instance.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- AssociationDescription => (associative-array)

  Information about the association.

  - Name => (string)

    The name of the configuration document.

  - InstanceId => (string)

    The ID of the instance.

  - Date => (string)

    The date when the association was made.

  - Status => (associative-array)

    The association status.

    - Date => (string)

      The date when the status changed.

    - Name => (string)

      The status.

    - Message => (string)

      The reason for the status.

    - AdditionalInfo => (string)

      A user-defined string.

# `public `Guzzle\Service\Resource\Model``
`describeDocument( array $args = array() )`

Executes the DescribeDocument operation.

Describes the specified configuration document.

#### Examples

- Basic formatting example

      $result = $client->describeDocument(array(
          // Name is required
          'Name' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Name => (string)

    The name of the configuration document.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Document => (associative-array)

  Information about the configuration document.

  - Sha1 => (string)

    The SHA1 hash of the document, which you can use for verification purposes.

  - Name => (string)

    The name of the configuration document.

  - CreatedDate => (string)

    The date when the configuration document was created.

  - Status => (string)

    The status of the configuration document.

# `public `Guzzle\Service\Resource\Model``
`getDocument( array $args = array() )`

Executes the GetDocument operation.

Gets the contents of the specified configuration document.

#### Examples

- Basic formatting example

      $result = $client->getDocument(array(
          // Name is required
          'Name' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Name => (string)

    The name of the configuration document.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Name => (string)

  The name of the configuration document.

- Content => (string)

  The contents of the configuration document.

# `public `Guzzle\Service\Resource\Model``
`listAssociations( array $args = array() )`

Executes the ListAssociations operation.

Lists the associations for the specified configuration document or instance.

#### Examples

- Basic formatting example

      $result = $client->listAssociations(array(
          // AssociationFilterList is required
          'AssociationFilterList' => array(
              array(
                  // key is required
                  'key' => 'string',
                  // value is required
                  'value' => 'string',
              ),
              // ... repeated
          ),
          'MaxResults' => integer,
          'NextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - AssociationFilterList => (array<associative-array>)

    One or more filters. Use a filter to return a more specific list of results.

    - (associative-array)

      Describes a filter.

      - key => (string: InstanceId | Name )

        The name of the filter.

      - value => (string)

        The filter value.

  - MaxResults => (int)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  - NextToken => (string)

    The token for the next set of items to return. (You received this token from a previous call.)

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Associations => (array<associative-array>)

  The associations.

  - (associative-array)

    Describes an association of a configuration document and an instance.

    - Name => (string)

      The name of the configuration document.

    - InstanceId => (string)

      The ID of the instance.

- NextToken => (string)

  The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

# `public `Guzzle\Service\Resource\Model``
`listDocuments( array $args = array() )`

Executes the ListDocuments operation.

Describes one or more of your configuration documents.

#### Examples

- Basic formatting example

      $result = $client->listDocuments(array(
          'DocumentFilterList' => array(
              array(
                  // key is required
                  'key' => 'string',
                  // value is required
                  'value' => 'string',
              ),
              // ... repeated
          ),
          'MaxResults' => integer,
          'NextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - DocumentFilterList => (array<associative-array>)

    One or more filters. Use a filter to return a more specific list of results.

    - (associative-array)

      Describes a filter.

      - key => (string: Name )

        The name of the filter.

      - value => (string)

        The value of the filter.

  - MaxResults => (int)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  - NextToken => (string)

    The token for the next set of items to return. (You received this token from a previous call.)

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- DocumentIdentifiers => (array<associative-array>)

  The names of the configuration documents.

  - (associative-array)

    Describes the name of a configuration document.

    - Name => (string)

      The name of the configuration document.

- NextToken => (string)

  The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

# `public `Guzzle\Service\Resource\Model``
`updateAssociationStatus( array $args = array() )`

Executes the UpdateAssociationStatus operation.

Updates the status of the configuration document associated with the specified instance.

#### Examples

- Basic formatting example

      $result = $client->updateAssociationStatus(array(
          // Name is required
          'Name' => 'string',
          // InstanceId is required
          'InstanceId' => 'string',
          // AssociationStatus is required
          'AssociationStatus' => array(
              // Date is required
              'Date' => 'mixed type: string (date format)|int (unix timestamp)|\DateTime',
              // Name is required
              'Name' => 'string',
              // Message is required
              'Message' => 'string',
              'AdditionalInfo' => 'string',
          ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Name => (string)

    The name of the configuration document.

  - InstanceId => (string)

    The ID of the instance.

  - AssociationStatus => (associative-array)

    The association status.

    - Date => (string [date format]|int [unix timestamp]|\DateTime)

      The date when the status changed.

    - Name => (string: Pending | Success | Failed )

      The status.

    - Message => (string)

      The reason for the status.

    - AdditionalInfo => (string)

      A user-defined string.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- AssociationDescription => (associative-array)

  Information about the association.

  - Name => (string)

    The name of the configuration document.

  - InstanceId => (string)

    The ID of the instance.

  - Date => (string)

    The date when the association was made.

  - Status => (associative-array)

    The association status.

    - Date => (string)

      The date when the status changed.

    - Name => (string)

      The status.

    - Message => (string)

      The reason for the status.

    - AdditionalInfo => (string)

      A user-defined string.

### Methods inherited from Aws\Common\Client\AbstractClient

`__call()`, `__construct()`, `createRequest()`, `getAllEvents()`, `getApiVersion()`, `getCredentials()`, `getRegion()`, `getRegions()`, `getSignature()`, `getWaiter()`, `getWaiterFactory()`, `send()`, `setCredentials()`, `setRegion()`, `setWaiterFactory()`, `waitUntil()`

### Methods inherited from Guzzle\Service\Client

`execute()`, `executeMultiple()`, `getCommand()`, `getCommandFactory()`, `getDescription()`, `getInflector()`, `getIterator()`, `getResourceIteratorFactory()`, `prepareCommand()`, `setCommandFactory()`, `setDescription()`, `setInflector()`, `setResourceIteratorFactory()`

### Methods inherited from Guzzle\Http\Client

`delete()`, `expandTemplate()`, `extractPharCacert()`, `get()`, `getBaseUrl()`, `getConfig()`, `getCurlMulti()`, `getDefaultOption()`, `getDefaultUserAgent()`, `getUriTemplate()`, `head()`, `initSsl()`, `options()`, `patch()`, `post()`, `prepareRequest()`, `put()`, `sendMultiple()`, `setBaseUrl()`, `setConfig()`, `setCurlMulti()`, `setDefaultOption()`, `setRequestFactory()`, `setSslVerification()`, `setUriTemplate()`, `setUserAgent()`

### Methods inherited from Guzzle\Common\AbstractHasDispatcher

`addSubscriber()`, `dispatch()`, `getEventDispatcher()`, `setEventDispatcher()`

### Magic methods summary

## Constants summary

`string` | `LATEST_API_VERSION` | `'2014-11-06'` | #

### Constants inherited from Guzzle\Service\Client

`COMMAND_PARAMS`

### Constants inherited from Guzzle\Http\Client

`CURL_OPTIONS`, `DEFAULT_SELECT_TIMEOUT`, `DISABLE_REDIRECTS`, `MAX_HANDLES`, `REQUEST_OPTIONS`, `SSL_CERT_AUTHORITY`

### Constants inherited from Guzzle\Http\ClientInterface

`CREATE_REQUEST`, `HTTP_DATE`

## Properties summary

### Properties inherited from Aws\Common\Client\AbstractClient

`$aggregator`, `$credentials`, `$signature`, `$waiterFactory`

### Properties inherited from Guzzle\Service\Client

`$commandFactory`, `$inflector`, `$resourceIteratorFactory`, `$serviceDescription`

### Properties inherited from Guzzle\Http\Client

`$defaultHeaders`, `$requestFactory`, `$userAgent`

### Properties inherited from Guzzle\Common\AbstractHasDispatcher

`$eventDispatcher`