public void updateParameters()

in aws-core-server/src/main/java/jetbrains/buildServer/clouds/amazon/connector/featureDevelopment/credsToAgent/InjectAwsCredentialsToTheBuildContext.java [38:62]


  public void updateParameters(@NotNull BuildStartContext context) {
    Collection<SBuildFeatureDescriptor> awsCredentialsBuildFeatures = AwsConnToAgentBuildFeature.getAwsConnectionsToExpose(context.getBuild());
    if (!awsCredentialsBuildFeatures.isEmpty()) {
      Loggers.CLOUD.debug(String.format("Build with id: <%s> has AWS Connection to inject, looking for AWS Connection...", context.getBuild().getBuildId()));
      try {
        validateMultipleAwsCredentialsBuildFeatures(awsCredentialsBuildFeatures);

        List<ConnectionCredentials> linkedAwsConnectionCredentials = myLinkedAwsConnectionProvider.getConnectionCredentialsFromBuild(context.getBuild());
        if (linkedAwsConnectionCredentials.isEmpty()) {
          finishBuildWithProblem(context, "Cannot access AWS connection(s) used in this build via AWS Credentials Build Feature. Check connection(s) settings and ensure they are shared with child subprojects and/or available for build steps.");
          return;
        }

        for (ConnectionCredentials connectionCredentials : linkedAwsConnectionCredentials) {
          String awsProfileName = connectionCredentials.getProperties().get(AWS_PROFILE_NAME_PARAM);
          myAwsCredentialsInjector.injectCredentials(context, new AwsConnectionCredentials(connectionCredentials), awsProfileName);
        }

      } catch (ConnectionCredentialsException e) {
        String warningMessage = "Failed to inject AWS Connection to a build: " + e.getMessage();
        Loggers.CLOUD.warnAndDebugDetails(warningMessage, e);
        finishBuildWithProblem(context, warningMessage);
      }
    }
  }