private String createDeployment()

in aws-codedeploy-common/src/main/java/jetbrains/buildServer/runner/codedeploy/AWSClient.java [195:232]


  private String createDeployment(@NotNull RevisionLocation revisionLocation,
                                  @NotNull String applicationName,
                                  @NotNull String deploymentGroupName,
                                  @NotNull Map<String, String> ec2Tags,
                                  @NotNull Collection<String> autoScalingGroups,
                                  @Nullable String deploymentConfigName,
                                  boolean rollbackOnFailure,
                                  boolean rollbackOnAlarmThreshold,
                                  @Nullable String fileExistsBehavior) {
    myListener.createDeploymentStarted(applicationName, deploymentGroupName, deploymentConfigName);

    final CreateDeploymentRequest request =
      new CreateDeploymentRequest()
        .withRevision(revisionLocation)
        .withApplicationName(applicationName)
        .withDeploymentGroupName(deploymentGroupName)
        .withFileExistsBehavior(fileExistsBehavior)
        .withDescription(getDescription("Deployment created by ", 100));

    if (StringUtil.isNotEmpty(deploymentConfigName)) request.setDeploymentConfigName(deploymentConfigName);
    if (!ec2Tags.isEmpty() || !autoScalingGroups.isEmpty()) {
        request.withTargetInstances(new TargetInstances().withTagFilters(getTagFilters(ec2Tags)).withAutoScalingGroups(autoScalingGroups));
    }
    if (rollbackOnFailure || rollbackOnAlarmThreshold) {
      final AutoRollbackConfiguration rollbackConfiguration = new AutoRollbackConfiguration().withEnabled(true);
      if (rollbackOnFailure) {
        rollbackConfiguration.withEvents(AutoRollbackEvent.DEPLOYMENT_FAILURE);
      }
      if (rollbackOnAlarmThreshold) {
        rollbackConfiguration.withEvents(AutoRollbackEvent.DEPLOYMENT_STOP_ON_ALARM);
      }
      request.setAutoRollbackConfiguration(rollbackConfiguration);
    }

    final String deploymentId = myCodeDeployClient.createDeployment(request).getDeploymentId();
    myListener.createDeploymentFinished(applicationName, deploymentGroupName, deploymentConfigName, deploymentId);
    return deploymentId;
  }