@@ -81,24 +81,23 @@ echo "--------------------------------create key and key policy document policy
8181echo " $policyDocument "
8282echo " --------------------------------policy document finished ----------------------------"
8383
84- roleID=$( atlas cloudProviders accessRoles aws create --projectId " ${projectId} " --output json | jq -r ' .roleId' )
85- echo " roleID: $roleID "
84+ roleID=$( atlas cloudProviders accessRoles aws create --output json | jq -r ' .roleId' )
8685echo " --------------------------------Mongo CLI Role creation ends ----------------------------"
8786
88- atlasAWSAccountArn=$( atlas cloudProviders accessRoles list --projectId " ${projectId} " -- output json | jq --arg roleID " ${roleID} " -r ' .awsIamRoles[] |select(.roleId |test( $roleID)) |.atlasAWSAccountArn' )
89- atlasAssumedRoleExternalId=$( atlas cloudProviders accessRoles list --projectId " ${projectId} " -- output json | jq --arg roleID " ${roleID} " -r ' .awsIamRoles[] |select(.roleId |test( $roleID)) |.atlasAssumedRoleExternalId' )
87+ atlasAWSAccountArn=$( atlas cloudProviders accessRoles list --output json | jq --arg roleID " ${roleID} " -r ' .awsIamRoles[] |select(.roleId |test( $roleID)) |.atlasAWSAccountArn' )
88+ atlasAssumedRoleExternalId=$( atlas cloudProviders accessRoles list --output json | jq --arg roleID " ${roleID} " -r ' .awsIamRoles[] |select(.roleId |test( $roleID)) |.atlasAssumedRoleExternalId' )
9089jq --arg atlasAssumedRoleExternalId " $atlasAssumedRoleExternalId " \
9190 --arg atlasAWSAccountArn " $atlasAWSAccountArn " \
9291 ' .Statement[0].Principal.AWS?|=$atlasAWSAccountArn | .Statement[0].Condition.StringEquals["sts:ExternalId"]?|=$atlasAssumedRoleExternalId' " $( dirname " $0 " ) /role-policy-template.json" > " $( dirname " $0 " ) /add-policy.json"
9392echo cat add-policy.json
9493echo " --------------------------------AWS Role creation ends ----------------------------"
9594
96- awsRoleID=$( aws iam get-role --role-name " ${roleName} " | jq --arg roleName " ${roleName} " -r ' .Role | select(.RoleName==$roleName) |.RoleId' )
95+ awsRoleID=$( aws iam get-role --role-name " ${roleName} " 2> /dev/null | jq --arg roleName " ${roleName} " -r ' .Role | select(.RoleName==$roleName) |.RoleId' || true )
9796if [ -z " $awsRoleID " ]; then
9897 awsRoleID=$( aws iam create-role --role-name " ${roleName} " --assume-role-policy-document file://" $( dirname " $0 " ) " /add-policy.json | jq --arg roleName " ${roleName} " -r ' .Role | select(.RoleName==$roleName) |.RoleId' )
9998 echo -e " No role found, hence creating the role. Created id: ${awsRoleID} \n"
10099else
101- aws iam delete-role-policy --role-name " ${roleName} " --policy-name " ${policyName} "
100+ aws iam delete-role-policy --role-name " ${roleName} " --policy-name " ${policyName} " 2> /dev/null || true
102101 aws iam delete-role --role-name " ${roleName} "
103102 awsRoleID=$( aws iam create-role --role-name " ${roleName} " --assume-role-policy-document file://" $( dirname " $0 " ) " /add-policy.json | jq --arg roleName " ${roleName} " -r ' .Role | select(.RoleName==$roleName) |.RoleId' )
104103 echo -e " FOUND id: ${awsRoleID} \n"
@@ -116,7 +115,7 @@ awsArne=$(echo "${awsArn}" | sed 's/"//g')
116115# TODO Needs change to while loop using get operation
117116sleep 65
118117
119- atlas cloudProviders accessRoles aws authorize " ${roleID} " --projectId " ${projectId} " -- iamAssumedRoleArn " ${awsArne} "
118+ atlas cloudProviders accessRoles aws authorize " ${roleID} " --iamAssumedRoleArn " ${awsArne} "
120119echo " --------------------------------authorize mongodb Role ends ----------------------------"
121120
122121jq --arg projectId " $projectId " \
0 commit comments