Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /opt/electriccloud/electriccommander/bin/ec-perl
- #############################################################################
- #
- # Copyright 2015 Electric-Cloud Inc.
- #
- # Create 100 components to deploy on 1 target in 100 directories
- #
- #############################################################################
- use strict;
- use English;
- use ElectricCommander;
- use Data::Dumper;
- $| = 1;
- #############################################################################
- # OPTIONS
- #############################################################################
- my $CLEAN_UP=$ARGV[0];
- my $DEBUG=1;
- # Create a single instance of the Perl access to ElectricCommander
- printf("Starting creation of acceptance criteria\n") if ($DEBUG);
- my $ec = new ElectricCommander(
- {
- server=>"localhost",
- format => "json"
- });
- $ec->login("admin", "changeme");
- printf("Logged into Commander\n") if ($DEBUG);
- # Check for the OS Type
- my $osIsWindows = $^O =~ /MSWin/;
- #############################################################################
- #
- # Global Variables
- #
- #############################################################################
- my $startIndex=1;
- my $projName="Project";
- my $projectNumber=10;
- my $procedureName="Procedure";
- my $procedureNumber=10;
- my $procedureStepName="Procedure Step";
- my $procedureStepNumber=10;
- ######### Clean up start #########
- if($CLEAN_UP == 1){
- # Delete Project
- for (my $i=$startIndex; $i <= $projectNumber; $i++) {
- my $updatedProjectName=$projName . "$i";
- $ec->deleteProject(
- {
- projectName => "$updatedProjectName"
- });
- printf("Project $updatedProjectName deleted\n") if ($DEBUG);
- }
- printf("Clean up finished") if ($DEBUG);
- ######### Clean up end #########
- } elsif($CLEAN_UP != 1){
- # Create Project
- for (my $projectCounter=$startIndex; $projectCounter <= $projectNumber; $projectCounter++) {
- my $updatedProjectName = $projName . "$projectCounter";
- $ec->createProject(
- {
- projectName => "$updatedProjectName",
- description => "application tier created automatically"
- });
- printf("Project $updatedProjectName created\n") if ($DEBUG);
- # Create Procedure
- if ($projectCounter != 1){
- $procedureNumber=0;
- }
- for (my $procedureCounter=$startIndex; $procedureCounter <= $procedureNumber; $procedureCounter++) {
- my $updatedPprocedureName = $procedureName . "$procedureCounter";
- $ec->createProcedure(
- {
- projectName => "$updatedProjectName",
- procedureName => "$updatedPprocedureName"
- });
- printf("Procedure $updatedPprocedureName created\n") if ($DEBUG);
- # Create Step
- if ($procedureCounter != 1){
- $procedureStepNumber=0;
- }
- for (my $procedureStepCounter=$startIndex; $procedureStepCounter <= $procedureStepNumber; $procedureStepCounter++) {
- my $updatedPprocedureStepName = $procedureStepName . "$procedureStepCounter";
- $ec->createStep(
- {
- projectName => "$updatedProjectName",
- procedureName => "$updatedPprocedureName",
- stepName => "$updatedPprocedureStepName"
- });
- printf("Procedure $updatedPprocedureStepName created\n") if ($DEBUG);
- }
- }
- }
- }
- #############################################################################
- #
- # Invoke a API call
- #
- #############################################################################
- sub InvokeCommander {
- my $optionFlags = shift;
- my $commanderFunction = shift;
- my $result;
- my $success = 1;
- my $errMsg;
- my $errCode;
- my $bSuppressLog = $optionFlags =~ /SuppressLog/i;
- my $bSuppressResult = $bSuppressLog || $optionFlags =~ /SuppressResult/i;
- my $bIgnoreError = $optionFlags =~ /IgnoreError/i;
- # Run the command
- # print "Request to Commander: $commanderFunction\n" unless ($bSuppressLog);
- $ec->abortOnError(0) if $bIgnoreError;
- $result = $ec->$commanderFunction(@_);
- $ec->abortOnError(1) if $bIgnoreError;
- # Check for error return
- if (defined ($result->{responses}->[0]->{error})) {
- $errCode=$result->{responses}->[0]->{error}->{code};
- $errMsg=$result->{responses}->[0]->{error}->{message};
- }
- if ($errMsg ne "") {
- $success = 0;
- }
- if ($result) {
- print "Return data from Commander:\n" .
- Dumper($result) . "\n"
- unless $bSuppressResult;
- }
- # Return the result
- return ($success, $result, $errMsg, $errCode);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement