INNER CODE UNIT · Go
setStateID
dikhan/terraform-provider-openapi · openapi/common.go:272
func setStateID(openAPIres SpecResource, resourceLocalData *schema.ResourceData, payload map[string]interface{}) error {
resourceSchema, err := openAPIres.GetResourceSchema()
if err != nil {
return err
}
identifierProperty, err := resourceSchema.getResourceIdentifier()
if err != nil {
return err
}
if payload[identifierProperty] == nil {
return fmt.Errorf("response object returned from the API is missing mandatory identifier property '%s'", identifierProperty)
}
switch payload[identifierProperty].(type) {
case int:
resourceLocalData.SetId(strconv.Itoa(payload[identifierProperty].(int)))
case float64:
resourceLocalData.SetId(strconv.Itoa(int(payload[identifierProperty].(float64))))