INNER CODE UNIT · Go
getParentIDs
dikhan/terraform-provider-openapi · openapi/common.go:79
func getParentIDs(openAPIResource SpecResource, data *schema.ResourceData) ([]string, error) {
if openAPIResource == nil {
return []string{}, errors.New("can't get parent ids from an empty SpecResource")
}
if data == nil {
return []string{}, errors.New("can't get parent ids from a nil ResourceData")
}
parentResourceInfo := openAPIResource.GetParentResourceInfo()
if parentResourceInfo != nil {
parentResourceNames := parentResourceInfo.GetParentPropertiesNames()
parentIDs := []string{}
for _, parentResourceName := range parentResourceNames {
parentResourceID := data.Get(parentResourceName)
if parentResourceID == nil {
return nil, fmt.Errorf("could not find ID value in the state file for subresource parent property '%s'", parentResourceName)
}
parentIDs = append(parentIDs, parentResourceID.(string))
}