func (si *ServiceInstance) UnbindApp(unbindArgs UnbindAppArgs) error {
	if si.FindApp(unbindArgs.App.GetName()) == -1 {
		return ErrAppNotBound
	}
	args := bindPipelineArgs{
		serviceInstance: si,
		app:             unbindArgs.App,
		writer:          unbindArgs.Event,
		shouldRestart:   unbindArgs.Restart,
		event:           unbindArgs.Event,
		requestID:       unbindArgs.RequestID,
		forceRemove:     unbindArgs.ForceRemove,
	}
	actions := []*action.Action{
		&unbindUnits,
		&unbindAppDB,
		&unbindAppEndpoint,
		&removeBoundEnvs,
	}
	pipeline := action.NewPipeline(actions...)
	return pipeline.Execute(&args)
}
func (si *ServiceInstance) UnbindApp(unbindArgs UnbindAppArgs) error {
	if si.FindApp(unbindArgs.App.GetName()) == -1 {
		return ErrAppNotBound
	}
	args := bindPipelineArgs{
		serviceInstance: si,
		app:             unbindArgs.App,
		writer:          unbindArgs.Event,
		shouldRestart:   unbindArgs.Restart,
		event:           unbindArgs.Event,
		requestID:       unbindArgs.RequestID,
		forceRemove:     unbindArgs.ForceRemove,
	}
	actions := []*action.Action{
		&unbindUnits,
		&unbindAppDB,
		&unbindAppEndpoint,
		&removeBoundEnvs,
	}
	pipeline := action.NewPipeline(actions...)
	return pipeline.Execute(&args)
}
func ( si * ServiceInstance ) UnbindApp ( unbindArgs UnbindAppArgs ) error { if si . FindApp ( unbindArgs . App . GetName ( ) ) == - 1 { return ErrAppNotBound } args := bindPipelineArgs { serviceInstance : si , app : unbindArgs . App , writer : unbindArgs . Event , shouldRestart : unbindArgs . Restart , event : unbindArgs . Event , requestID : unbindArgs . RequestID , forceRemove : unbindArgs . ForceRemove , } actions := [ ] * action . Action { & unbindUnits , & unbindAppDB , & unbindAppEndpoint , & removeBoundEnvs , } pipeline := action . NewPipeline ( actions ... ) return pipeline . Execute ( & args ) }
// UnbindApp makes the unbind between the service instance and an app.
UnbindApp makes the unbind between the service instance and an app .