{"id":15470885,"url":"https://github.com/pflorek/php-aws-paramstore","last_synced_at":"2025-04-22T12:40:53.102Z","repository":{"id":57038391,"uuid":"193942933","full_name":"pflorek/php-aws-paramstore","owner":"pflorek","description":"Fetches configuration from AWS Parameter Store","archived":false,"fork":false,"pushed_at":"2019-08-08T14:15:30.000Z","size":38,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-19T01:13:18.741Z","etag":null,"topics":["aws","config","parameter-store","php"],"latest_commit_sha":null,"homepage":"https://packagist.org/packages/pflorek/aws-paramstore","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pflorek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-26T16:41:06.000Z","updated_at":"2021-05-17T13:17:57.000Z","dependencies_parsed_at":"2022-08-24T00:51:00.666Z","dependency_job_id":null,"html_url":"https://github.com/pflorek/php-aws-paramstore","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pflorek%2Fphp-aws-paramstore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pflorek%2Fphp-aws-paramstore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pflorek%2Fphp-aws-paramstore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pflorek%2Fphp-aws-paramstore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pflorek","download_url":"https://codeload.github.com/pflorek/php-aws-paramstore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250242840,"owners_count":21398207,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","config","parameter-store","php"],"created_at":"2024-10-02T02:07:31.879Z","updated_at":"2025-04-22T12:40:53.080Z","avatar_url":"https://github.com/pflorek.png","language":"PHP","readme":"# PHP AWS Parameter Store Config Provider\n\n[![Build Status](https://travis-ci.org/pflorek/php-aws-paramstore.svg?branch=master)](https://travis-ci.org/pflorek/php-aws-paramstore)\n[![Coverage Status](https://coveralls.io/repos/github/pflorek/php-aws-paramstore/badge.svg?branch=master)](https://coveralls.io/github/pflorek/php-aws-paramstore?branch=master)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/pflorek/php-aws-paramstore/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/pflorek/php-aws-paramstore/?branch=master)\n[![Latest Stable Version](https://poser.pugx.org/pflorek/aws-paramstore/v/stable)](https://packagist.org/packages/pflorek/aws-paramstore)\n[![Total Downloads](https://poser.pugx.org/pflorek/aws-paramstore/downloads)](https://packagist.org/packages/pflorek/aws-paramstore)\n[![Latest Unstable Version](https://poser.pugx.org/pflorek/aws-paramstore/v/unstable)](https://packagist.org/packages/pflorek/aws-paramstore)\n[![License](https://poser.pugx.org/pflorek/aws-paramstore/license)](https://packagist.org/packages/pflorek/aws-paramstore)\n[![Monthly Downloads](https://poser.pugx.org/pflorek/aws-paramstore/d/monthly)](https://packagist.org/packages/pflorek/aws-paramstore)\n[![Daily Downloads](https://poser.pugx.org/pflorek/aws-paramstore/d/daily)](https://packagist.org/packages/pflorek/aws-paramstore)\n[![composer.lock](https://poser.pugx.org/pflorek/aws-paramstore/composerlock)](https://packagist.org/packages/pflorek/aws-paramstore)\n\nThis library reads parameters from AWS Parameter Store. It supports a path prefix, an optional shared context and multiple profiles. Returns an multi dimensional array of string|int|float|bool. Integrates directly with zendframework/zend-config-aggregator.\n\n## Usage\n\n```PHP\nuse Aws\\Ssm\\SsmClient;\nuse PFlorek\\AwsParameterStore\\ConfigProvider;\n\n// Provide bootstrap options\n$options = [\n    'prefix' =\u003e '/path/with/prefix', // required\n    'name' =\u003e 'application-name', // required\n    'profileSeparator' =\u003e '_', // default =\u003e '_'\n    'sharedContext' =\u003e 'shared-context', // default =\u003e ''\n];\n\n// Configure AWS Systems Manager Client\n$client = new SsmClient([\n    'version' =\u003e 'latest',\n    'region' =\u003e 'eu-central-1',\n]);\n// Or just pass AWS Client options\n$client = [\n    'version' =\u003e 'latest',\n    'region' =\u003e 'eu-central-1',\n];\n\n// Get provided config with active profiles\n$environments = ['test'];\n\n// Create AWS Parameter Store Config Provider\n$provider = new ConfigProvider($client, $options, $environments);\n$config = $provider();\n\n// e.g. returns\n//\n//array(1) {\n//  [\"service\"]=\u003e\n//  array(3) {\n//    [\"host\"]=\u003e\n//    string(5) \"mysql\"\n//    [\"port\"]=\u003e\n//    int(3306)\n//    [\"enabled\"]=\u003e\n//    bool(true)\n//  }\n//}\n```\n\n## Configuration\n\n| parameter | required | default | description |\n| :--- | :---: | :---: | :--- |\n| prefix | _yes_ | _none_ | The path prefix of the parameters |\n| name | _yes_ | _none_ | The application name |\n| profileSeparator | _no_ | **'_'** | The separator between application name and profile |\n| sharedContext | _no_ | **''** | The shared context for application with parameters under the same path prefix |\n\n## Example\n\nGiven options:\n\n- prefix := **/path/with/prefix**\n- name := **app-name**\n- profileSeparator := **_**\n- sharedContext = **shared**\n- profiles = **['common', 'test']**\n\nWill search for parameters with path beginning with:\n\n1. /path/with/prefix/shared\n1. /path/with/prefix/app-name\n1. /path/with/prefix/app-name_common\n1. /path/with/prefix/app-name_test\n\n## Installation\n\nUse [Composer] to install the package:\n\n```bash\ncomposer require pflorek/aws-paramstore\n```\n\n## Authors\n\n* [Patrick Florek]\n\n## Contribute\n\nContributions are always welcome!\n\n* Report any bugs or issues on the [issue tracker].\n* You can download the sources at the package's [Git repository].\n\n## License\n\nAll contents of this package are licensed under the [MIT license].\n\n[Composer]: https://getcomposer.org\n[Git repository]: https://github.com/pflorek/php-aws-paramstore\n[issue tracker]: https://github.com/pflorek/php-aws-paramstore/issues\n[MIT license]: LICENSE\n[Patrick Florek]: https://github.com/pflorek\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpflorek%2Fphp-aws-paramstore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpflorek%2Fphp-aws-paramstore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpflorek%2Fphp-aws-paramstore/lists"}