class AssetHelper

Public Class Methods

new(appContext) click to toggle source
# File lib/cloudmunch_Ruby_sdk_v2/AssetHelper.rb, line 23
def initialize(appContext)
    @appContext = appContext
    @cloudmunchDataService = CloudmunchService.new 
end

Public Instance Methods

addAsset(assetName, assetType, assetStatus, assetExternalRef, assetData) click to toggle source
# File lib/cloudmunch_Ruby_sdk_v2/AssetHelper.rb, line 51
def addAsset(assetName, assetType, assetStatus, assetExternalRef, assetData)
    if assetName.empty? || assetType.empty? || assetStatus.empty? then
        log("ERROR", "Asset name ,status and type need to be provided") 
        return false
    end

    statusArray = [::STATUS_RUNNING, ::STATUS_STOPPED, ::STATUS_NIL]
    if !statusArray.include?(assetStatus) then
        log("ERROR", "Invalid status sent. Allowed values " + ::STATUS_RUNNING, ::STATUS_STOPPED, ::STATUS_NIL) 
        return false
    end

    assetData["name"] = assetName
    assetData["type"] = assetType
    assetData["status"] = assetStatus
    assetData["external_reference"] = assetExternalRef

    serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/"
    retResult = @cloudmunchDataService.updateDataForContext(serverUrl, @appContext.getAPIKey(), assetData)

    if retResult == nil then 
        return nil
    else
        retResult = JSON.parse(retResult)
        retData = retResult["data"]
        if retData.nil? then 
            return nil
        else
            return retData
        end
    end

end
addEnvironment(environmentName, environmentStatus, environmentData) click to toggle source

@param string environmentName Name of the environment @param string environmentStatus Environment status ,valid values are success,failed,in-progress @param array environmentData Array of environment properties

# File lib/cloudmunch_Ruby_sdk_v2/EnvironmentHelper.rb, line 96
def addEnvironment(environmentName, environmentStatus, environmentData)
    if environmentName.empty? || environmentStatus.empty? then
        log("ERROR", "Environment name ,status and type need to be provided") 
        return false
    end

    statusArray = [STATUS_CREATION_IN_PROGRESS, STATUS_RUNNING, STATUS_STOPPED, STATUS_STOPPED_WITH_ERRORS, STATUS_RUNNING_WITH_WARNINGS, STATUS_ACTION_IN_PROGRESS]
    if !statusArray.include?(assetStatus) then
        log("ERROR", "Invalid status sent. Allowed values " + STATUS_CREATION_IN_PROGRESS + "," + STATUS_RUNNING + "," + STATUS_STOPPED + "," + STATUS_STOPPED_WITH_ERRORS + "," STATUS_RUNNING_WITH_WARNINGS + "," + STATUS_ACTION_IN_PROGRESS) 
        return false
    end

    environmentData["name"] = environmentName
    environmentData["status"] = environmentStatus

    serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/environments/"
    retResult = @cloudmunchDataService.updateDataForContext(serverUrl, @appContext.getAPIKey(), environmentData)

    if retResult == nil then 
        return nil
    else
        retResult = JSON.parse(retResult)
        retData = retResult["data"]
        if retData.nil? then 
            return nil
        else
            return retData
        end
    end
end
checkIfAssetExists(assetID) click to toggle source
# File lib/cloudmunch_Ruby_sdk_v2/AssetHelper.rb, line 108
def checkIfAssetExists(assetID)
    serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/" + assetID

    assetResult = @cloudmunchDataService.getDataForContext(serverUrl, @appContext.getAPIKey(), "")
    if assetResult == nil then  
        return nil
    else
        assetResult = JSON.parse(assetResult)
        assetData = assetResult["data"]
        if assetData.nil? then
            log("ERROR", "Asset does not exist") 
            return false
        else
            return true
        end
    end
end
checkIfEnvironmentExists(environmentID) click to toggle source

Checks if Environment exists in cloudmunch. @param string $environmentID @return boolean

# File lib/cloudmunch_Ruby_sdk_v2/EnvironmentHelper.rb, line 272
def checkIfEnvironmentExists(environmentID)
    serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/environments/" + environmentID

    envResult = @cloudmunchDataService.getDataForContext(serverUrl, @appContext.getAPIKey(), "")
    if envResult == nil then  
        log("DEBUG", "Could not retreive data from cloudmunch")
        return nil
    else
        envResult = JSON.parse(envResult)
        envData = envResult["data"]
        if envData.nil? then
            log("ERROR", "Environment does not exist") 
            return false
        else
            return true
        end
    end
end
deleteAsset(assetID) click to toggle source
# File lib/cloudmunch_Ruby_sdk_v2/AssetHelper.rb, line 91
def deleteAsset(assetID)
    serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/" + assetID
    @cloudmunchDataService.deleteDataForContext(serverUrl, @appContext.getAPIKey())
end
getAsset(assetID, filterData) click to toggle source
# File lib/cloudmunch_Ruby_sdk_v2/AssetHelper.rb, line 28
def getAsset(assetID, filterData)
    paramHash = {}
    if !filterData.nil?
        paramHash["filter"] = filterData.to_json
    end
    serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/" + assetID
    assetResult = @cloudmunchDataService.getDataForContext(serverUrl, @appContext.getAPIJey(), paramHash)

    if assetResult == nil then 
        log("ERROR", "Unable to get data from cloudmunch") 
        return nil
    else
        assetResult = JSON.parse(assetResult)
        assetData = assetResult["data"]
        if assetData.nil? then
            log("ERROR", "Asset does not exist") 
            return nil
        else
            return assetData
        end
    end
end
getEnvironment(environmentID, filterData) click to toggle source

@param String environmentID @param Json Object filterData In the format {“filterfield”:“=value”} @return json object environmentdetails

# File lib/cloudmunch_Ruby_sdk_v2/EnvironmentHelper.rb, line 67
def getEnvironment(environmentID, filterData)
    paramHash = {}
    if !filterData.nil?
        paramHash["filter"] = filterData.to_json
    end
    serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/environments/" + environmentID
    envResult = @cloudmunchDataService.getDataForContext(serverUrl, @appContext.getAPIJey(), paramHash)

    if envResult == nil then 
        log("ERROR", "Unable to get data from cloudmunch") 
        return nil
    else
        envResult = JSON.parse(envResult)
        envData = envResult["data"]
        if envData.nil? then
            log("DEBUG", "Environment does not exist") 
            return nil
        else
            return envData
        end
    end
end
getExistingEnvironments(filterData) click to toggle source

@param Json Object filterData In the format {“filterfield”:“=value”} @return json object environmentdetails

# File lib/cloudmunch_Ruby_sdk_v2/EnvironmentHelper.rb, line 36
def getExistingEnvironments(filterData)
     paramHash = {}
     if !filterData.nil?
         paramHash["filter"] = filterData.to_json
     end

     serverUrl = @appContext.getMasterURL() + "/applications/"  + @appContext.getProject() + "/environments"
     envResult = @cloudmunchDataService.getDataForContext(serverUrl, @appContext.getAPIJey(), paramHash)

     if envResult == nil then 
         log("ERROR", "Unable to get data from cloudmunch") 
         return nil
     else
         envResult = JSON.parse(envResult)
         envData = envResult["data"]
         if envData.nil? then
             log("ERROR", "environments do not exist") 
             return nil
         else
             return envData
         end
     end
end
updateAsset(assetID, assetData) click to toggle source
# File lib/cloudmunch_Ruby_sdk_v2/AssetHelper.rb, line 86
def updateAsset(assetID, assetData)
    serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/" + assetID
    @cloudmunchDataService.updateDataForContext(serverUrl, @appContext.getAPIKey(), assetData)
end
updateEnvironment(environmentID, environmentData, comment) click to toggle source

@param String Environment ID @param JsonObject Environment Data

# File lib/cloudmunch_Ruby_sdk_v2/EnvironmentHelper.rb, line 132
def updateEnvironment(environmentID, environmentData, comment)
    serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/environments/" + environmentID
    retResult = @cloudmunchDataService.updateDataForContext(serverUrl, @appContext.getAPIKey(), environmentData)
end
updateEnvironmentBuildVersion(environmentID, buildNumber) click to toggle source

@param String Environment ID @param URL Environment Data

# File lib/cloudmunch_Ruby_sdk_v2/EnvironmentHelper.rb, line 159
def updateEnvironmentBuildVersion(environmentID, buildNumber)
    if buildNumber.nil? || buildNumber.empty then
        log("ERROR", "Build Number is not provided to update environment details") 
        return false
    else
        comment = "Setting application build version";
        paramHash = {}
        paramInnerHash = {}
        paramInnerHash["version"] = ""
        paramInnerHash["build"] = buildNumber
        paramHash["application"] = paramInnerHash
        updateEnvironment(environmentID, paramHash, comment);
    end
end
updateEnvironmentURL(environmentID, environmentURL) click to toggle source

@param String Environment ID @param URL Environment Data

# File lib/cloudmunch_Ruby_sdk_v2/EnvironmentHelper.rb, line 142
def updateEnvironmentURL(environmentID, environmentURL)
    if environmentURL.nil? || environmentURL.empty then
        log("ERROR", "Environment URL is not provided to update environment details") 
        return false
    else
        comment = "Setting application URL";
        paramHash = {}
        paramHash["application_url"] = environmentURL
        updateEnvironment(environmentID, paramHash, comment);
    end
end
updateStatus(assetID, status) click to toggle source
# File lib/cloudmunch_Ruby_sdk_v2/AssetHelper.rb, line 96
def updateStatus(assetID, status)
    statusArray = [::STATUS_RUNNING, ::STATUS_STOPPED, ::STATUS_NIL]
    if !statusArray.include?(status) then
        log("ERROR", "Invalid status") 
        return false
    end

    assetData = {}
    assetData["status"] = status
    updateAsset(assetID, assetData)
end
updateVariables(environmentID, envVariables) click to toggle source

@param String environmentID @param array key value pairs to be updated to environment details

# File lib/cloudmunch_Ruby_sdk_v2/EnvironmentHelper.rb, line 239
def updateVariables(environmentID, envVariables)
    if environmentID.nil? then
        log("DEBUG", "Environment id value is needed for variables update on an environment")
    else
        variablesHash = {}
        variablesHash["variables"] = envVariables
        comment = "Updating variables"
        updateEnvironment(environmentID, variablesHash, comment)
    end
end