code: func (auth *ASMAuthResource) UnmarshalJSON(b []byte) error {
  	temp := asmAuthResourceJSON{}
  
  	if err := json.Unmarshal(b, &temp); err != nil {
  		return err
  	}
  
  	if temp.DesiredStatus != nil {
  		auth.SetDesiredStatus(resourcestatus.ResourceStatus(*temp.DesiredStatus))
  	}
  	if temp.KnownStatus != nil {
  		auth.SetKnownStatus(resourcestatus.ResourceStatus(*temp.KnownStatus))
  	}
  	if temp.CreatedAt != nil && !temp.CreatedAt.IsZero() {
  		auth.SetCreatedAt(*temp.CreatedAt)
  	}
  	if temp.RequiredASMResources != nil {
  		auth.requiredASMResources = temp.RequiredASMResources
  	}
  	auth.taskARN = temp.TaskARN
  	auth.executionCredentialsID = temp.ExecutionCredentialsID
  
  	return nil
  }
docs: // UnmarshalJSON deserialises the raw JSON to a ASMAuthResource struct