code: func (f *Function) Create(zip []byte) error {
  	f.Log.Info("creating function")
  
  	params := &lambda.CreateFunctionInput{
  		FunctionName: &f.FunctionName,
  		Description:  &f.Description,
  		MemorySize:   &f.Memory,
  		Timeout:      &f.Timeout,
  		Runtime:      &f.Runtime,
  		Handler:      &f.Handler,
  		Role:         &f.Role,
  		KMSKeyArn:    &f.KMSKeyArn,
  		Publish:      aws.Bool(true),
  		Environment:  f.environment(),
  		Code: &lambda.FunctionCode{
  			ZipFile: zip,
  		},
  		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,
  		}
  	}
  
  	created, err := f.Service.CreateFunction(params)
  	if err != nil {
  		return err
  	}
  
  	if err := f.CreateOrUpdateAlias(f.Alias, *created.Version); err != nil {
  		return err
  	}
  
  	f.Log.WithFields(log.Fields{
  		"version": *created.Version,
  		"name":    f.FunctionName,
  	}).Info("function created")
  
  	return nil
  }
docs: // Create the function with the given `zip`.