func (app *App) AddCName(cnames ...string) error {
	actions := []*action.Action{
		&validateNewCNames,
		&setNewCNamesToProvisioner,
		&saveCNames,
		&updateApp,
	}
	err := action.NewPipeline(actions...).Execute(app, cnames)
	rebuild.RoutesRebuildOrEnqueue(app.Name)
	return err
}
func (app *App) AddCName(cnames ...string) error {
	actions := []*action.Action{
		&validateNewCNames,
		&setNewCNamesToProvisioner,
		&saveCNames,
		&updateApp,
	}
	err := action.NewPipeline(actions...).Execute(app, cnames)
	rebuild.RoutesRebuildOrEnqueue(app.Name)
	return err
}
func ( app * App ) AddCName ( cnames ... string ) error { actions := [ ] * action . Action { & validateNewCNames , & setNewCNamesToProvisioner , & saveCNames , & updateApp , } err := action . NewPipeline ( actions ... ) . Execute ( app , cnames ) rebuild . RoutesRebuildOrEnqueue ( app . Name ) return err }
// AddCName adds a CName to app. It updates the attribute,
// calls the SetCName function on the provisioner and saves
// the app in the database, returning an error when it cannot save the change
// in the database or add the CName on the provisioner.
AddCName adds a CName to app . It updates the attribute calls the SetCName function on the provisioner and saves the app in the database returning an error when it cannot save the change in the database or add the CName on the provisioner .