func()

in providers/ibm/ibm_is_lb.go [225:298]


func (g *LBGenerator) PostConvertHook() error {
	for _, r := range g.Resources {
		if r.InstanceInfo.Type != "ibm_is_lb" {
			continue
		}

		for i, pool := range g.Resources {
			if pool.InstanceInfo.Type != "ibm_is_lb_pool" {
				continue
			}
			if pool.InstanceState.Attributes["lb"] == r.InstanceState.Attributes["id"] {
				g.Resources[i].Item["lb"] = "${ibm_is_lb." + r.ResourceName + ".id}"
			}
			for i, poolMember := range g.Resources {
				if poolMember.InstanceInfo.Type != "ibm_is_lb_pool_member" {
					continue
				}

				poolID := strings.Split(pool.InstanceState.Attributes["id"], "/")[1]
				if poolMember.InstanceState.Attributes["pool"] == poolID {
					g.Resources[i].Item["pool"] = "${ibm_is_lb_pool." + pool.ResourceName + ".id}"
				}
			}
		}

		for i, poolMember := range g.Resources {
			if poolMember.InstanceInfo.Type != "ibm_is_lb_pool_member" {
				continue
			}
			if poolMember.InstanceState.Attributes["lb"] == r.InstanceState.Attributes["id"] {
				g.Resources[i].Item["lb"] = "${ibm_is_lb." + r.ResourceName + ".id}"
			}
		}

		for i, listener := range g.Resources {
			if listener.InstanceInfo.Type != "ibm_is_lb_listener" {
				continue
			}
			if listener.InstanceState.Attributes["lb"] == r.InstanceState.Attributes["id"] {
				g.Resources[i].Item["lb"] = "${ibm_is_lb." + r.ResourceName + ".id}"
			}
		}

		for i, listenerPolicy := range g.Resources {
			if listenerPolicy.InstanceInfo.Type != "ibm_is_lb_listener_policy" {
				continue
			}
			if listenerPolicy.InstanceState.Attributes["lb"] == r.InstanceState.Attributes["id"] {
				g.Resources[i].Item["lb"] = "${ibm_is_lb." + r.ResourceName + ".id}"
			}
			for i, listenerPolicyRule := range g.Resources {
				if listenerPolicyRule.InstanceInfo.Type != "ibm_is_lb_listener_policy_rule" {
					continue
				}

				if listenerPolicyRule.InstanceState.Attributes["listener"] == listenerPolicy.InstanceState.Attributes["id"] {
					g.Resources[i].Item["listener"] = "${ibm_is_lb_listener_policy." + listenerPolicy.ResourceName + ".id}"
				}
			}
		}

		for i, listenerPolicyRule := range g.Resources {
			if listenerPolicyRule.InstanceInfo.Type != "ibm_is_lb_listener_policy_rule" {
				continue
			}
			if listenerPolicyRule.InstanceState.Attributes["lb"] == r.InstanceState.Attributes["id"] {
				g.Resources[i].Item["lb"] = "${ibm_is_lb." + r.ResourceName + ".id}"
			}
		}

	}

	return nil
}