Skip to content

Commit

Permalink
Adding support for AWS Config
Browse files Browse the repository at this point in the history
  • Loading branch information
mtdowling committed Nov 12, 2014
1 parent 191d3bc commit 3926a02
Show file tree
Hide file tree
Showing 9 changed files with 985 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

* Added support for the AWS Key Management Service.
* Added support for AWS CodeDeploy.
* Added support for AWS Config.
* Added support for AWS KMS encryption to the Amazon S3 client.
* Added support for AWS KMS encryption to the Amazon EC2 client.
* Added support for Amazon CloudWatch Logs delivery to the AWS CloudTrail
Expand Down
7 changes: 6 additions & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@ AWS SDK for PHP
service-cloudtrail
service-cloudwatch
service-cloudwatchlogs
service-codedeploy
service-cognitoidentity
service-cognitosync
service-codedeploy
service-config
service-datapipeline
service-directconnect
service-dynamodb
Expand Down Expand Up @@ -146,6 +147,10 @@ Service-Specific Guides

.. indexlinks:: CognitoSync

* AWS Config

.. indexlinks:: ConfigService

* Amazon DynamoDB

.. indexlinks:: DynamoDb
Expand Down
3 changes: 3 additions & 0 deletions docs/service-configservice.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.. service:: ConfigService

.. apiref:: ConfigService
6 changes: 6 additions & 0 deletions src/Aws/Common/Resources/aws-config.php
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,12 @@
'class' => 'Aws\CodeDeploy\CodeDeployClient'
),

'config' => array(
'alias' => 'ConfigService',
'extends' => 'default_settings',
'class' => 'Aws\ConfigService\ConfigServiceClient'
),

'datapipeline' => array(
'alias' => 'DataPipeline',
'extends' => 'default_settings',
Expand Down
70 changes: 70 additions & 0 deletions src/Aws/ConfigService/ConfigServiceClient.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<?php
/**
* Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/

namespace Aws\ConfigService;

use Aws\Common\Client\AbstractClient;
use Aws\Common\Client\ClientBuilder;
use Aws\Common\Enum\ClientOptions as Options;
use Aws\Common\Exception\Parser\JsonQueryExceptionParser;
use Guzzle\Common\Collection;
use Guzzle\Service\Resource\Model;

/**
* Client to interact with AWS Config
*
* @method Model deleteDeliveryChannel(array $args = array()) {@command ConfigService DeleteDeliveryChannel}
* @method Model deliverConfigSnapshot(array $args = array()) {@command ConfigService DeliverConfigSnapshot}
* @method Model describeConfigurationRecorderStatus(array $args = array()) {@command ConfigService DescribeConfigurationRecorderStatus}
* @method Model describeConfigurationRecorders(array $args = array()) {@command ConfigService DescribeConfigurationRecorders}
* @method Model describeDeliveryChannelStatus(array $args = array()) {@command ConfigService DescribeDeliveryChannelStatus}
* @method Model describeDeliveryChannels(array $args = array()) {@command ConfigService DescribeDeliveryChannels}
* @method Model getResourceConfigHistory(array $args = array()) {@command ConfigService GetResourceConfigHistory}
* @method Model putConfigurationRecorder(array $args = array()) {@command ConfigService PutConfigurationRecorder}
* @method Model putDeliveryChannel(array $args = array()) {@command ConfigService PutDeliveryChannel}
* @method Model startConfigurationRecorder(array $args = array()) {@command ConfigService StartConfigurationRecorder}
* @method Model stopConfigurationRecorder(array $args = array()) {@command ConfigService StopConfigurationRecorder}
*
* @link http://docs.aws.amazon.com/aws-sdk-php/guide/latest/service-configservice.html User guide
* @link http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.ConfigService.ConfigServiceClient.html API docs
*/
class ConfigServiceClient extends AbstractClient
{
const LATEST_API_VERSION = '2014-11-12';

/**
* Factory method to create a new AWS Config client using an array of configuration options.
*
* See http://docs.aws.amazon.com/aws-sdk-php/guide/latest/configuration.html#client-configuration-options
*
* @param array|Collection $config Client configuration data
*
* @return self
* @link http://docs.aws.amazon.com/aws-sdk-php/guide/latest/configuration.html#client-configuration-options
*/
public static function factory($config = array())
{
return ClientBuilder::factory(__NAMESPACE__)
->setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/configservice-%s.php',
Options::SSL_CERT => 'system'
))
->setExceptionParser(new JsonQueryExceptionParser())
->build();
}
}
10 changes: 10 additions & 0 deletions src/Aws/ConfigService/Exception/ConfigServiceException.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php

namespace Aws\ConfigService\Exception;

use Aws\Common\Exception\ServiceResponseException;

/**
* Exception thrown by the ConfigService service client.
*/
class ConfigServiceException extends ServiceResponseException {}
Loading

0 comments on commit 3926a02

Please sign in to comment.