All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.deliveredtechnologies.terraform.fluent.api.TfShow.groovy Maven / Gradle / Ivy

There is a newer version: 0.13-593
Show newest version
package com.deliveredtechnologies.terraform.fluent.api

import groovy.json.JsonSlurper

abstract class TfShow {

    Map raw
    JsonSlurper slurper = new JsonSlurper()

    TfShow(String showJsonOutput) {
        raw = (Map) slurper.parseText(showJsonOutput)

    }

    List flattenModules(Map map) {
        map.collect { k, v ->
            if ( k == "resources") {
                return convertToAbsoluteAddress(map.getOrDefault("address", ""), v)
            }
            if ( k == "child_modules") {
                return v.collect {
                    flattenModules(it)
                }
            }
            []
        }.flatten() as List
    }

    List convertToAbsoluteAddress(String moduleAddress, List resources) {
        if (!moduleAddress.empty) {
            resources.each {it.address = "${moduleAddress}.${it.address}".toString() }
        }
        return resources
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy