INNER CODE UNIT · Go
setResourceDataProperty
dikhan/terraform-provider-openapi · openapi/common.go:266
func setResourceDataProperty(schemaDefinitionProperty SpecSchemaDefinitionProperty, value interface{}, resourceLocalData *schema.ResourceData) error {
return resourceLocalData.Set(schemaDefinitionProperty.GetTerraformCompliantPropertyName(), value)
}
// setStateID sets the local resource's data ID with the newly identifier created in the POST API request. Refer to
// r.resourceInfo.getResourceIdentifier() for more info regarding what property is selected as the identifier.
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)
}