11#! /usr/bin/env bash
2- #
3- # Run integration tests against a CW Agent.
4- #
5- # usage:
6- # export AWS_ACCESS_KEY_ID=
7- # export AWS_SECRET_ACCESS_KEY=
8- # export AWS_REGION=us-west-2
9- # ./start-agent.sh
102
11- source ./utils.sh
3+ scripts_dir=$( cd " $( dirname " ${BASH_SOURCE[0]} " ) " & > /dev/null && pwd -P)
4+ source " $scripts_dir " /utils.sh
5+
6+ NUGET_API_KEY=" "
7+
8+ function assume_role_and_get_key() {
9+ ROLE_ARN=$1
10+ OUTPUT_PROFILE=" publishing-profile"
11+ echo " Assuming role $ROLE_ARN "
12+ sts=$( aws sts assume-role \
13+ --role-arn " $ROLE_ARN " \
14+ --role-session-name " $OUTPUT_PROFILE " \
15+ --query ' Credentials.[AccessKeyId,SecretAccessKey,SessionToken]' \
16+ --output text)
17+ check_exit
18+ sts=($sts )
19+ aws configure set aws_access_key_id " ${sts[0]} " --profile " $OUTPUT_PROFILE "
20+ aws configure set aws_secret_access_key " ${sts[1]} " --profile " $OUTPUT_PROFILE "
21+ aws configure set aws_session_token " ${sts[2]} " --profile " $OUTPUT_PROFILE "
22+ echo " Credentials stored in the profile named $OUTPUT_PROFILE "
23+
24+ NUGET_API_KEY=$( aws secretsmanager \
25+ --profile " $OUTPUT_PROFILE " \
26+ get-secret-value \
27+ --secret-id " $SECRET_ARN " \
28+ | jq ' .SecretString | fromjson.Key' | tr -d ' "' )
29+ check_exit
30+ }
1231
1332# publish <package-name>
1433function publish() {
@@ -26,6 +45,8 @@ function publish() {
2645 popd
2746}
2847
48+ assume_role_and_get_key " $ROLE_ARN "
49+
2950validate " $NUGET_API_KEY " " NUGET_API_KEY"
3051validate " $CODEBUILD_BUILD_NUMBER " " CODEBUILD_BUILD_NUMBER"
3152
0 commit comments