Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Per 3.81 KB | None | 0 0
  1. #! /opt/electriccloud/electriccommander/bin/ec-perl
  2. #############################################################################
  3. #
  4. # Copyright 2015 Electric-Cloud Inc.
  5. #
  6. # Create 100 components to deploy on 1 target in 100 directories
  7. #
  8. #############################################################################
  9. use strict;
  10. use English;
  11. use ElectricCommander;
  12. use Data::Dumper;
  13. $| = 1;
  14.  
  15. #############################################################################
  16. # OPTIONS
  17. #############################################################################
  18. my $CLEAN_UP=$ARGV[0];
  19. my $DEBUG=1;
  20.  
  21.  
  22. # Create a single instance of the Perl access to ElectricCommander
  23. printf("Starting creation of acceptance criteria\n") if ($DEBUG);
  24. my $ec = new ElectricCommander(
  25.     {
  26.         server=>"localhost",
  27.         format => "json"
  28.     });
  29. $ec->login("admin", "changeme");
  30. printf("Logged into Commander\n") if ($DEBUG);
  31.  
  32. # Check for the OS Type
  33. my $osIsWindows = $^O =~ /MSWin/;
  34.  
  35. #############################################################################
  36. #
  37. # Global Variables
  38. #
  39. #############################################################################
  40.  
  41. my $startIndex=1;
  42. my $projName="Project";
  43. my $projectNumber=10;
  44. my $procedureName="Procedure";
  45. my $procedureNumber=10;
  46.  
  47. ######### Clean up start #########
  48. if($CLEAN_UP == 1){
  49. # Delete Project
  50.     for (my $i=$startIndex; $i <= $projectNumber; $i++) {
  51.         my $updatedProjectName=$projName . "$i";
  52.         $ec->deleteProject(
  53.             {
  54.                 projectName   => "$updatedProjectName"
  55.             });
  56.         printf("Project $updatedProjectName deleted\n") if ($DEBUG);
  57.     }
  58.     printf("Clean up finished") if ($DEBUG);
  59. ######### Clean up end #########
  60. } elsif($CLEAN_UP != 1){
  61.     # Create Project
  62.         for (my $projectCounter=$startIndex; $projectCounter <= $projectNumber; $projectCounter++) {
  63.             my $updatedProjectName = $projName . "$projectCounter";
  64.             $ec->createProject(
  65.                 {
  66.                     projectName   => "$updatedProjectName",
  67.                     description   => "application tier created automatically"
  68.                 });
  69.             printf("Project $updatedProjectName created\n") if ($DEBUG);
  70.  
  71.             # Create Procedure
  72.             if ($projectCounter != 1){
  73.                 $procedureNumber=1;
  74.             }
  75.  
  76.             for (my $procedureCounter=$startIndex; $procedureCounter <= $procedureNumber; $procedureCounter++) {
  77.             my $updatedPprocedureName = $procedureName . "$procedureCounter";
  78.                 $ec->createProcedure(
  79.                 {
  80.                     projectName   => "$updatedProjectName",
  81.                     procedureName   => "$updatedPprocedureName"
  82.                 });
  83.             printf("Procedure $updatedPprocedureName created\n") if ($DEBUG);
  84.             }
  85.         }
  86.     }
  87. #############################################################################
  88. #
  89. # Invoke a API call
  90. #
  91. #############################################################################
  92. sub InvokeCommander {
  93.  
  94.     my $optionFlags = shift;
  95.     my $commanderFunction = shift;
  96.     my $result;
  97.     my $success = 1;
  98.     my $errMsg;
  99.     my $errCode;
  100.  
  101.     my $bSuppressLog = $optionFlags =~ /SuppressLog/i;
  102.     my $bSuppressResult = $bSuppressLog || $optionFlags =~ /SuppressResult/i;
  103.     my $bIgnoreError = $optionFlags =~ /IgnoreError/i;
  104.  
  105.     # Run the command
  106.     # print "Request to Commander: $commanderFunction\n" unless ($bSuppressLog);
  107.  
  108.     $ec->abortOnError(0) if $bIgnoreError;
  109.     $result = $ec->$commanderFunction(@_);
  110.     $ec->abortOnError(1) if $bIgnoreError;
  111.  
  112.     # Check for error return
  113.     if (defined ($result->{responses}->[0]->{error})) {
  114.         $errCode=$result->{responses}->[0]->{error}->{code};
  115.         $errMsg=$result->{responses}->[0]->{error}->{message};
  116.     }
  117.  
  118.     if ($errMsg ne "") {
  119.         $success = 0;
  120.     }
  121.     if ($result) {
  122.         print "Return data from Commander:\n" .
  123.                Dumper($result) . "\n"
  124.             unless $bSuppressResult;
  125.     }
  126.  
  127.     # Return the result
  128.     return ($success, $result, $errMsg, $errCode);
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement