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
}