You have designed a serverless learning management system and you are ready to deploy your code in to a test/dev environment. The system uses a combination of Lambda, API Gateway, S3 and CloudFront and is architected to be highly available, fault-tolerant and scalable. What are the three different ways you can deploy your code to Lambda?