func()

in providers/aws/rds.go [297:343]


func (g *RDSGenerator) PostConvertHook() error {
	for i, r := range g.Resources {
		if r.InstanceInfo.Type == "aws_db_instance" || r.InstanceInfo.Type == "aws_rds_cluster" {
			for _, dbInstance := range g.Resources {
				if dbInstance.InstanceInfo.Type != "aws_db_instance" {
					continue
				}
				if g.Resources[i].Item["replicate_source_db"] != nil {
					delete(g.Resources[i].Item, "username")
					delete(g.Resources[i].Item, "engine_version")
					delete(g.Resources[i].Item, "engine")
					delete(g.Resources[i].Item, "db_name")
				}
			}

			for _, parameterGroup := range g.Resources {
				if parameterGroup.InstanceInfo.Type != "aws_db_parameter_group" {
					continue
				}
				if parameterGroup.InstanceState.Attributes["name"] == r.InstanceState.Attributes["parameter_group_name"] {
					g.Resources[i].Item["parameter_group_name"] = "${aws_db_parameter_group." + parameterGroup.ResourceName + ".name}"
				}
			}

			for _, subnet := range g.Resources {
				if subnet.InstanceInfo.Type != "aws_db_subnet_group" {
					continue
				}
				if subnet.InstanceState.Attributes["name"] == r.InstanceState.Attributes["db_subnet_group_name"] {
					g.Resources[i].Item["db_subnet_group_name"] = "${aws_db_subnet_group." + subnet.ResourceName + ".name}"
				}
			}

			for _, optionGroup := range g.Resources {
				if optionGroup.InstanceInfo.Type != "aws_db_option_group" {
					continue
				}
				if optionGroup.InstanceState.Attributes["name"] == r.InstanceState.Attributes["option_group_name"] {
					g.Resources[i].Item["option_group_name"] = "${aws_db_option_group." + optionGroup.ResourceName + ".name}"
				}
			}
		} else {
			continue
		}
	}
	return nil
}