code: func (f *Function) DeployConfigAndCode(zip []byte) error {
  	f.Log.Info("updating config")
  
  	params := &lambda.UpdateFunctionConfigurationInput{
  		FunctionName: &f.FunctionName,
  		MemorySize:   &f.Memory,
  		Timeout:      &f.Timeout,
  		Description:  &f.Description,
  		Role:         &f.Role,
  		Runtime:      &f.Runtime,
  		Handler:      &f.Handler,
  		KMSKeyArn:    &f.KMSKeyArn,
  		Environment:  f.environment(),
  		VpcConfig: &lambda.VpcConfig{
  			SecurityGroupIds: aws.StringSlice(f.VPC.SecurityGroups),
  			SubnetIds:        aws.StringSlice(f.VPC.Subnets),
  		},
  	}
  
  	if f.DeadLetterARN != "" {
  		params.DeadLetterConfig = &lambda.DeadLetterConfig{
  			TargetArn: &f.DeadLetterARN,
  		}
  	}
  
  	_, err := f.Service.UpdateFunctionConfiguration(params)
  	if err != nil {
  		return err
  	}
  
  	return f.Update(zip)
  }
docs: // DeployConfigAndCode updates config and updates function code.