Skip to content

Commit 8d2df8d

Browse files
vedant-jaiswalVedant Jaiswalsimonmarty
authored
Add versioned user-agent to AWS API calls (#272)
*Issue #, if available:* *Description of changes:* **Add versioned user-agent to AWS API calls** - Add getUserAgent() function that returns github-action/v{version} format - Update SecretsManagerClient to use versioned user-agent - Version automatically syncs with package.json - Update package.json version to match latest release (2.0.10) - Add unit tests for version format validation *Testing* - Added unit test. - Runtime Validation `node -e "const { getUserAgent } = require('./dist/constants.js'); console.log('User-Agent:', getUserAgent());"` ` Output: User-Agent: github-action/v2.0.10 ` By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice. --------- Co-authored-by: Vedant Jaiswal <[email protected]> Co-authored-by: Simon Marty <[email protected]>
1 parent aa511bf commit 8d2df8d

File tree

9 files changed

+71
-13
lines changed

9 files changed

+71
-13
lines changed

.github/actions/build/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ runs:
1717
- name: Determine role to assume
1818
id: role-to-assume
1919
run: |
20-
if [ "${{ github.repository_owner }}" == "aws-actions" ]; then
20+
if [ "${{ github.event_name }}" == "push" ]; then
2121
# Use prod role for the PRs running against the main repo
2222
echo "arn=arn:aws:iam::339713045997:role/GithubActionsRole" >> "$GITHUB_OUTPUT"
2323
else
@@ -26,7 +26,7 @@ runs:
2626
fi
2727
shell: bash
2828
- name: Configure AWS Credentials
29-
uses: aws-actions/configure-aws-credentials@v4
29+
uses: aws-actions/configure-aws-credentials@v5
3030
with:
3131
role-to-assume: ${{ steps.role-to-assume.outputs.arn }}
3232
aws-region: ${{ inputs.aws-region }}

__tests__/utils.test.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
TransformationFunc
2020
} from "../src/utils";
2121

22-
import { CLEANUP_NAME, LIST_SECRETS_MAX_RESULTS } from "../src/constants";
22+
import { CLEANUP_NAME, LIST_SECRETS_MAX_RESULTS, ACTION_VERSION, getUserAgent } from "../src/constants";
2323

2424
const TEST_NAME = 'test/secret';
2525
const TEST_ENV_NAME = 'TEST_SECRET';
@@ -455,3 +455,16 @@ describe('Test secret parsing and handling', () => {
455455
expect(() => parseTransformationFunction(input)).toThrow();
456456
});
457457
});
458+
459+
describe('Version Constants', () => {
460+
it('should have a valid version format', () => {
461+
expect(ACTION_VERSION).toMatch(/^v\d+\.\d+\.\d+$/);
462+
});
463+
464+
it('should return user agent with version', () => {
465+
const userAgent = getUserAgent();
466+
expect(userAgent).toMatch(/^github-action\/v\d+\.\d+\.\d+$/);
467+
});
468+
});
469+
470+

dist/cleanup/index.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83025,14 +83025,21 @@ cleanup();
8302583025
/***/ }),
8302683026

8302783027
/***/ 27242:
83028-
/***/ ((__unused_webpack_module, exports) => {
83028+
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
8302983029

8303083030
"use strict";
8303183031

8303283032
Object.defineProperty(exports, "__esModule", ({ value: true }));
83033-
exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
83033+
exports.ACTION_VERSION = exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
83034+
exports.getUserAgent = getUserAgent;
8303483035
exports.LIST_SECRETS_MAX_RESULTS = 100;
8303583036
exports.CLEANUP_NAME = 'SECRETS_LIST_CLEAN_UP';
83037+
// eslint-disable-next-line @typescript-eslint/no-var-requires
83038+
const packageJson = __nccwpck_require__(8330);
83039+
exports.ACTION_VERSION = `v${packageJson.version}`;
83040+
function getUserAgent() {
83041+
return `github-action/${exports.ACTION_VERSION}`;
83042+
}
8303683043

8303783044

8303883045
/***/ }),
@@ -91057,6 +91064,14 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","ver
9105791064
"use strict";
9105891065
module.exports = /*#__PURE__*/JSON.parse('[{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE"},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Shippable","constant":"SHIPPABLE","env":"SHIPPABLE","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Solano CI","constant":"SOLANO","env":"TDDIUM","pr":"TDDIUM_PR_ID"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]');
9105991066

91067+
/***/ }),
91068+
91069+
/***/ 8330:
91070+
/***/ ((module) => {
91071+
91072+
"use strict";
91073+
module.exports = /*#__PURE__*/JSON.parse('{"name":"aws-secretsmanager-get-secrets","version":"2.0.11","description":"GitHub action for retrieving secrets from AWS Secrets Manager","main":"dist/index.js","scripts":{"test":"npm run lint && jest --coverage --verbose __tests__","integration-test":"jest --coverage --verbose","lint":"eslint src/**.ts","fix":"eslint src/** --fix","build":"tsc && ncc build ./src/index.ts --source-map --license licenses.txt && ncc build ./src/cleanup.ts -o dist/cleanup"},"repository":{"type":"git","url":"git+https://github.com/aws-actions/aws-secretsmanager-get-secrets.git"},"keywords":["AWS","SecretsManager","GitHub","Actions"],"author":"","license":"ISC","bugs":{"url":"https://github.com/aws-actions/aws-secretsmanager-get-secrets/issues"},"homepage":"https://github.com/aws-actions/aws-secretsmanager-get-secrets#readme","dependencies":{"@actions/core":"^1.10.0","@actions/github":"^6.0.0","@aws-sdk/client-secrets-manager":"^3.606.0"},"devDependencies":{"@types/jest":"^29.5.12","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","@vercel/ncc":"^0.38.1","aws-sdk-client-mock":"^4.0.1","aws-sdk-client-mock-jest":"^4.0.1","eslint":"^8.57.0","jest":"^29.7.0","ts-jest":"^29.1.5"}}');
91074+
9106091075
/***/ })
9106191076

9106291077
/******/ });

dist/constants.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
3-
exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
3+
exports.ACTION_VERSION = exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
4+
exports.getUserAgent = getUserAgent;
45
exports.LIST_SECRETS_MAX_RESULTS = 100;
56
exports.CLEANUP_NAME = 'SECRETS_LIST_CLEAN_UP';
7+
// eslint-disable-next-line @typescript-eslint/no-var-requires
8+
const packageJson = require('../package.json');
9+
exports.ACTION_VERSION = `v${packageJson.version}`;
10+
function getUserAgent() {
11+
return `github-action/${exports.ACTION_VERSION}`;
12+
}

dist/index.js

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82930,14 +82930,21 @@ module.exports = {
8293082930
/***/ }),
8293182931

8293282932
/***/ 27242:
82933-
/***/ ((__unused_webpack_module, exports) => {
82933+
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
8293482934

8293582935
"use strict";
8293682936

8293782937
Object.defineProperty(exports, "__esModule", ({ value: true }));
82938-
exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
82938+
exports.ACTION_VERSION = exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
82939+
exports.getUserAgent = getUserAgent;
8293982940
exports.LIST_SECRETS_MAX_RESULTS = 100;
8294082941
exports.CLEANUP_NAME = 'SECRETS_LIST_CLEAN_UP';
82942+
// eslint-disable-next-line @typescript-eslint/no-var-requires
82943+
const packageJson = __nccwpck_require__(8330);
82944+
exports.ACTION_VERSION = `v${packageJson.version}`;
82945+
function getUserAgent() {
82946+
return `github-action/${exports.ACTION_VERSION}`;
82947+
}
8294182948

8294282949

8294382950
/***/ }),
@@ -83011,7 +83018,7 @@ function run() {
8301183018
}
8301283019
(0, net_1.setDefaultAutoSelectFamilyAttemptTimeout)(timeout);
8301383020
// Default client region is set by configure-aws-credentials
83014-
const client = new client_secrets_manager_1.SecretsManagerClient({ region: process.env.AWS_DEFAULT_REGION, customUserAgent: "github-action" });
83021+
const client = new client_secrets_manager_1.SecretsManagerClient({ region: process.env.AWS_DEFAULT_REGION, customUserAgent: (0, constants_1.getUserAgent)() });
8301583022
const secretConfigInputs = [...new Set(core.getMultilineInput('secret-ids'))];
8301683023
const parseJsonSecrets = core.getBooleanInput('parse-json-secrets');
8301783024
const nameTransformation = (0, utils_1.parseTransformationFunction)(core.getInput('name-transformation'));
@@ -91086,6 +91093,14 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","ver
9108691093
"use strict";
9108791094
module.exports = /*#__PURE__*/JSON.parse('[{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE"},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Shippable","constant":"SHIPPABLE","env":"SHIPPABLE","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Solano CI","constant":"SOLANO","env":"TDDIUM","pr":"TDDIUM_PR_ID"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]');
9108891095

91096+
/***/ }),
91097+
91098+
/***/ 8330:
91099+
/***/ ((module) => {
91100+
91101+
"use strict";
91102+
module.exports = /*#__PURE__*/JSON.parse('{"name":"aws-secretsmanager-get-secrets","version":"2.0.11","description":"GitHub action for retrieving secrets from AWS Secrets Manager","main":"dist/index.js","scripts":{"test":"npm run lint && jest --coverage --verbose __tests__","integration-test":"jest --coverage --verbose","lint":"eslint src/**.ts","fix":"eslint src/** --fix","build":"tsc && ncc build ./src/index.ts --source-map --license licenses.txt && ncc build ./src/cleanup.ts -o dist/cleanup"},"repository":{"type":"git","url":"git+https://github.com/aws-actions/aws-secretsmanager-get-secrets.git"},"keywords":["AWS","SecretsManager","GitHub","Actions"],"author":"","license":"ISC","bugs":{"url":"https://github.com/aws-actions/aws-secretsmanager-get-secrets/issues"},"homepage":"https://github.com/aws-actions/aws-secretsmanager-get-secrets#readme","dependencies":{"@actions/core":"^1.10.0","@actions/github":"^6.0.0","@aws-sdk/client-secrets-manager":"^3.606.0"},"devDependencies":{"@types/jest":"^29.5.12","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","@vercel/ncc":"^0.38.1","aws-sdk-client-mock":"^4.0.1","aws-sdk-client-mock-jest":"^4.0.1","eslint":"^8.57.0","jest":"^29.7.0","ts-jest":"^29.1.5"}}');
91103+
9108991104
/***/ })
9109091105

9109191106
/******/ });

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "aws-secretsmanager-get-secrets",
3-
"version": "1.0.0",
3+
"version": "2.0.11",
44
"description": "GitHub action for retrieving secrets from AWS Secrets Manager",
55
"main": "dist/index.js",
66
"scripts": {

src/constants.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
11
export const LIST_SECRETS_MAX_RESULTS = 100;
22
export const CLEANUP_NAME = 'SECRETS_LIST_CLEAN_UP';
3+
4+
// eslint-disable-next-line @typescript-eslint/no-var-requires
5+
const packageJson = require('../package.json');
6+
export const ACTION_VERSION = `v${packageJson.version}`;
7+
8+
export function getUserAgent(): string {
9+
return `github-action/${ACTION_VERSION}`;
10+
}

src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
SecretValueResponse, isJSONString,
1111
parseTransformationFunction
1212
} from "./utils";
13-
import { CLEANUP_NAME } from "./constants";
13+
import { CLEANUP_NAME, getUserAgent } from "./constants";
1414

1515
export async function run(): Promise<void> {
1616
try {
@@ -32,7 +32,7 @@ export async function run(): Promise<void> {
3232

3333

3434
// Default client region is set by configure-aws-credentials
35-
const client : SecretsManagerClient = new SecretsManagerClient({region: process.env.AWS_DEFAULT_REGION, customUserAgent: "github-action"});
35+
const client : SecretsManagerClient = new SecretsManagerClient({region: process.env.AWS_DEFAULT_REGION, customUserAgent: getUserAgent()});
3636
const secretConfigInputs: string[] = [...new Set(core.getMultilineInput('secret-ids'))];
3737
const parseJsonSecrets = core.getBooleanInput('parse-json-secrets');
3838
const nameTransformation = parseTransformationFunction(core.getInput('name-transformation'));

0 commit comments

Comments
 (0)