PHPackages                             magium/mcm-aws-factory - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. magium/mcm-aws-factory

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

magium/mcm-aws-factory
======================

A simple library for managing AWS credentials using the Magium Configuration Manager

0.9.4(8y ago)047Apache-2.0PHP

Since Aug 16Pushed 8y ago1 watchersCompare

[ Source](https://github.com/magium/mcm-aws-factory)[ Packagist](https://packagist.org/packages/magium/mcm-aws-factory)[ RSS](/packages/magium-mcm-aws-factory/feed)WikiDiscussions develop Synced 4w ago

READMEChangelog (5)Dependencies (3)Versions (7)Used By (0)

AWS API Factory for the Magium Configuration Manager
====================================================

[](#aws-api-factory-for-the-magium-configuration-manager)

This library provides an interface for the aws/aws-sdk-php library so you can use it with the [Magium Configuration Manager](https://magiumlib.com/components/configuration). Often applications will have some kind of static configuration mechanism, such as XML files, JSON files, YAML files, or PHP files. There's nothing necessarily wrong with that, but what it does is merge your deployment and configuration concerns. The Magium Configuration Manager (MCM) breaks that dependency so you can manage configuration separately from your deployment.

Setup
-----

[](#setup)

```
composer require magium/mcm-aws-factory

```

Once it is installed you need to initialize the Magium Configuration Manager (MCM) for your project using the `magium-configuration` commnand. You can find it in `vendor/bin/magium-configuration` or, if that doesn't work you can run `php vendor/magium/configuration-manager/bin/magium-configuration`. For the purpose of this documentation we will simple call it `magium-configuration`.

Configuration
-------------

[](#configuration)

First, list all the configuration keys so you can see what they are.

```
$ magium-configuration magium:configuration:list-keys
Valid configuration keys
aws/credentials/region

aws/credentials/key

aws/credentials/secret

```

Then you need to set the settings:

```
$ magium-configuration set aws/general/region us-east-1
Set aws/general/region to us-east1 (context: default)
Don't forget to rebuild your configuration cache with magium:configuration:build

$ magium-configuration set aws/general/key xxxxxxxxxxxxxxxxxxx
Set aws/general/key to xxxxxxxxxxxxxxxxxxx (context: default)
Don't forget to rebuild your configuration cache with magium:configuration:build

$ magium-configuration set aws/general/secret xxxxxxxxxx
Set aws/general/secret to xxxxxxxxxxx (context: default)
Don't forget to rebuild your configuration cache with magium:configuration:build

```

Then you need to build the configuration:

```
$ magium-configuration build
Building context: default
Building context: production
Building context: development

```

Usage
-----

[](#usage)

Next up, in your application code run something like this:

```
$magiumFactory = new \Magium\Configuration\MagiumConfigurationFactory();
$awsFactory = new \Magium\AwsFactory\AwsFactory($magiumFactory->getConfiguration());

$ec2Client = $awsFactory->factory(\Aws\Ec2\Ec2Client::class);
$result = $ec2Client->describeSecurityGroups();
$groups = $result->get('SecurityGroups');

foreach ($groups as $count => $group) {
    echo sprintf("\nSecurity Group: %d\n", $count);
    foreach ($group as $name => $value) {
        if (is_string($value)) {
            echo sprintf("%s: %s\n", $name, $value);
        }
    }
}

```

You can try this in the \[test/get-security-groups.php\](sample test script).

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~24 days

Total

5

Last Release

3144d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cd1cf3c696e501a5d5b6813b0aff73169fef00eec3ab5aa437e1302027ded655?d=identicon)[kschroeder](/maintainers/kschroeder)

---

Top Contributors

[![kschroeder](https://avatars.githubusercontent.com/u/237332?v=4)](https://github.com/kschroeder "kschroeder (8 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/magium-mcm-aws-factory/health.svg)

```
[![Health](https://phpackages.com/badges/magium-mcm-aws-factory/health.svg)](https://phpackages.com/packages/magium-mcm-aws-factory)
```

###  Alternatives

[akeneo/pim-community-dev

Akeneo PIM, the future of catalog management is open!

1.0k620.8k86](/packages/akeneo-pim-community-dev)[altis/core

Core module for Altis

19222.5k2](/packages/altis-core)[helgesverre/extractor

AI-Powered Data Extraction for your Laravel application.

22333.1k](/packages/helgesverre-extractor)[napp/xray-laravel

AWS X-Ray for Laravel applications.

61427.6k](/packages/napp-xray-laravel)[foxxmd/laravel-elasticbeanstalk-cron

Ensure only one Laravel instance is running CRON jobs in an EB environment

61308.2k](/packages/foxxmd-laravel-elasticbeanstalk-cron)[northwestern-sysdev/dynamic-forms

Dynamic Forms for Laravel

4957.8k2](/packages/northwestern-sysdev-dynamic-forms)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
