{"_id":"aws-param-store-sdkv3","name":"aws-param-store-sdkv3","dist-tags":{"latest":"4.0.0"},"versions":{"4.0.0":{"name":"aws-param-store-sdkv3","version":"4.0.0","description":"Library for loading parameters from AWS Parameter Store, forked from aws-param-store to use the awsdkv3","keywords":["AWS","SSM","secret","parameter store","parameter","store"],"main":"lib/index.js","scripts":{"test":"nyc mocha --recursive --timeout 8000"},"nyc":{"check-coverage":true,"include":["lib/**/*.js"],"reporter":["lcov","text"]},"repository":{"type":"git","url":"git+https://github.com/coggle/aws-param-store.git"},"engines":{"node":">=12"},"author":{"name":"Vandium Software Inc., Coggle"},"license":"BSD-3-Clause","dependencies":{"@aws-sdk/client-ssm":"^3.282.0"},"devDependencies":{"chai":"^4.1.2","mocha":"^6.2.2","nyc":"^14.1.1","proxyquire":"^2.1.3","sinon":"^15.0.1"},"gitHead":"89634035b351acd48916fb93bc13ec28f83f99d0","bugs":{"url":"https://github.com/coggle/aws-param-store/issues"},"homepage":"https://github.com/coggle/aws-param-store#readme","_id":"aws-param-store-sdkv3@4.0.0","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-DibiqRlBe8AoHnanVtvQoGX7RevYKSO4nUYUE49keToUO9ofolKyNhUQjRMDHGp7MufHARLoaykxJM4ecemo4Q==","shasum":"35297d27f70c7bd60c0701e3da98e199d26cd4ca","tarball":"https://registry.npmjs.org/aws-param-store-sdkv3/-/aws-param-store-sdkv3-4.0.0.tgz","fileCount":10,"unpackedSize":53496,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHKZ7Hqycf7XscTKiEylNahOQxaC/w5RX78dcDD3qdsAiEA6HQDCAOnRh958t98utDidbWyTRCFGUZKdAQzB9eHTrM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkB3r/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbwBAAh8WehBlMnCRAs2BtLZERCu0WKGnaYhXuO8cGKtf7j4pHxpRb\r\ncw5AlSPfU7s2g1AO7BH4fjl7jaohlgFBUylN0/4c9j+600NyTO7P9+uh2d4A\r\n6oTLYgJg3ylIAK8uN9b3CLn5l3fkxn/huRbtcofUhTG2yIPCQNqv8HOVHIex\r\nNCEzo6yxAGNIDD+coM+KyQJ6AOOsbfkyuDdrBTFc5QQqhdJ9E49TB9Xdn6Yl\r\nt1TJHhSBkoUZbV+N1i9FBXmCBVRRK2/orDNysG78Xo8pZZ11cRaM2oFvy4VN\r\n9hfNovHoUE5/uiG/GKC+T3Pk2UevEvSdAE7GcbpAM9JfmSZmrlAcMe40Zqzv\r\n80SESG/sEzKgpMqgV8oEhDV0w891Zo5Afxgr5WdwBAnTIpqAXcEtSn+1IosE\r\nCwMkN52iR7gxaJ/w9rGqCgZIDd9s+B0biRTkwmVsQl1MJPH7RDWV2grxfkJc\r\nGkjnra4GXDkAUqeQkNLo+2Zzmdj3+25x3gTGzNYNMwS7Zmy5tUMbCtYpJMm1\r\ncv6gR0UTHl0I6LEoweJueZdslO5kS+Px4eK6nUSxa53m/cmfXwCN61B/JD7n\r\nozCdkI9k3na5kq74XxGjb7srrkbAlL70t5GI1Vn0tCTv0vXFBe5IUR+i/9Tz\r\nFpFhWmKBvnVCTB2Zcz1WeoPSpi+EoCF45xo=\r\n=B8ji\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"autopulated","email":"autopulated@gmail.com"},"directories":{},"maintainers":[{"name":"autopulated","email":"autopulated@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-param-store-sdkv3_4.0.0_1678211839502_0.9348992464827868"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-07T17:57:19.501Z","4.0.0":"2023-03-07T17:57:19.638Z","modified":"2023-03-07T17:57:19.822Z"},"maintainers":[{"name":"autopulated","email":"autopulated@gmail.com"}],"description":"Library for loading parameters from AWS Parameter Store, forked from aws-param-store to use the awsdkv3","homepage":"https://github.com/coggle/aws-param-store#readme","keywords":["AWS","SSM","secret","parameter store","parameter","store"],"repository":{"type":"git","url":"git+https://github.com/coggle/aws-param-store.git"},"author":{"name":"Vandium Software Inc., Coggle"},"bugs":{"url":"https://github.com/coggle/aws-param-store/issues"},"license":"BSD-3-Clause","readme":"[![npm version](https://badge.fury.io/js/aws-param-store-sdkv3.svg)](https://badge.fury.io/js/aws-param-store-sdkv3)\n\n# aws-param-store\n\nModule for loading parameter-store values from AWS SSM\n\nNow updated to use the AWS SDK v3, only requiring the SSMClient module.\n\n## Features\n* Gets parameters by name(s) or path\n* Recursively resolves paths and decodes parameters by default\n* Paginates results automatically\n* Supports both synchronous and asynchronous querying of parameters\n* Uses Promises for asynchronous calls\n* Can run inside AWS Lambda environment\n* Lightweight and does not require additional dependencies other than the AWS-SDK\n\n\n## Installation\nInstall via npm.\n\n\tnpm install aws-param-store-sdkv3 --save\n\n## Getting Started\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nawsParamStore.getParametersByPath( '/project1/service1/production' )\n    .then( (parameters) => {\n\n        // do something here\n    });\n```\n\nIf your AWS region is not set in your environment variables, then it can be set programmatically by supplying\noptions when calling `newQuery()`:\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nawsParamStore.getParametersByPath( '/project1/service1/production', { region: 'us-east-1' } )\n    .then( (parameters) => {\n\n        // do something here\n    });\n```\n\n## API\n\n### Overview\n\nMost API method calls in this library have both asynchronous and synchronous versions.\nWhen an asynchronous version is called, a Promise is returned to resolve the value\nonce the operation completes. When an `options` parameter is allowed, it can be used\nto specify specific AWS service options such as the region. All of the\n`getParameter*` methods will request that the values are decoded. If you require\nfurther control, please use the `parameterQuery()` method.\n\n### `getParameter( name [, options] )`\n\nGets a parameter by name. This method returns a promise that resolves the Parameter.\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nawsParamStore.getParameter( '/project1/my-parameter', { region: 'us-east-1' } )\n    .then( (parameter) => {\n\n        // Parameter info object for '/project1/my-parameter'\n    });\n```\n\n### `getParameterSync( name [, options] )`\n\nGets a parameter by name. This method will block until the operation completes.\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nlet parameter = awsParamStore.getParameterSync( '/project1/my-parameter',\n\t\t\t\t\t\t\t\t\t\t\t{ region: 'us-east-1' } );\n\n// Parameter info object for '/project1/my-parameter'\n```\n\n\n### `getParameters( names [, options] )`\n\nGets one or more parameters by name. This method returns a promise that resolves\nan object that contains `Parameters` and `InvalidParameters`.\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nawsParamStore.getParameters( ['/project1/my-parameter1', '/project1/my-parameter2'],\n\t\t\t\t\t\t\t { region: 'us-east-1' } )\n    .then( (results) => {\n\n        // results.Parameters will contain an array of parameters that were found\n\t\t// results.InvalidParameters will contain an array of parameters that were\n\t\t//                           not found\n    });\n```\n\n### `getParametersSync( names [, options] )`\n\nGets one or more parameters by name. This method will\nblock until the operation completes, and will return an object that contains\n`Parameters` and `InvalidParameters`.\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nlet results = awsParamStore.getParametersSync( ['/project1/my-parameter1', '/project1/my-parameter2'],\n\t\t\t\t\t\t\t     \t\t\t   { region: 'us-east-1' } );\n\n// results.Parameters will contain an array of parameters that were found\n// results.InvalidParameters will contain an array of parameters that were\n//                           not found\n```\n\n### `getParametersByPath( path [, options] )`\n\nGets parameters by recursively traversing the supplied path. This method returns\na promise that resolves the parameters that were found.\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nawsParamStore.getParametersByPath( '/project1' )\n    .then( (parameters) => {\n\n\t\t// parameters contains an array of parameter objects\n    });\n```\n\n### `getParametersByPathSync( path [, options] )`\n\nGets parameters by recursively traversing the supplied path.  This method will\nblock until the operation completes, and will return a list of matching\nparameters.\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nlet parameters = awsParamStore.getParametersByPathSync( '/project1' );\n\n// parameters contains an array of parameter objects\n```\n\n### `putParameter( name, value, type [, options] )`\n\nPuts parameter. This method returns a promise that resolves to the version returned back.\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nawsParamStore.putParameter('key', 'value1,value2', 'StringList', {region: 'us-east-1', Overwrite: false})\n    .then( (results) => {\n\n\t\t// results is the version of the value created\n    });\n```\n\n### `putParameterSync( name, value , type [, options]  )`\n\nPuts parameter. This method.  This method will block until the version returned back.\n\n```js\nconst awsParamStore = require( 'aws-param-store-sdkv3' );\n\nlet results = awsParamStore.putParameterSync('key', 'securedstring', 'SecureString', {region: 'us-east-1'});\n\n```\n\n### `ParameterQuery`\n\nInstances of `ParameterQuery` can be created by calling `parameterQuery( [options] )`.\nThis object is implementation behind the `getParameter*` methods, and allows further\ncontrol over how the calls are made to resolve parameters.\n\n### `ParameterQuery.path( p )`\n\nSets the path name not be queried. Returns a reference to the `ParameterQuery`\ninstance.\n\n### `ParameterQuery.named( name )`\n\nSets the name or names (if an array) to be queried. Returns a reference to the\n`ParameterQuery` instance.\n\n### `ParameterQuery.decryption( enabled = true )`\n\nIndicates that the decryption of the values is enabled/disabled. Returns a\nreference to the `ParameterQuery` instance.\n\n### `ParameterQuery.recursive( enabled = true )`\n\nEnables or disables recursive operations when resolving parameters by path.\nReturns a reference to the `ParameterQuery` instance.\n\n### `ParameterQuery.execute()`\n\nExecutes the query based on path or name(s) that were selected. Returns a Promise\nthat resolves the parameter results.\n\n### `ParameterQuery.executeSync()`\n\nExecutes the query based on path or name(s) that were selected. This operation\nwill block until complete.\n\n\n## License\n\n[BSD-3-Clause](https://en.wikipedia.org/wiki/BSD_licenses)\n","readmeFilename":"README.md"}