All Projects → inhabitedtype → ocaml-aws

inhabitedtype / ocaml-aws

Licence: other
Generated OCaml bindings for Amazon Web Services

Programming Languages

ocaml
1615 projects

Labels

Projects that are alternatives of or similar to ocaml-aws

Amazon Ec2 Instance Selector
A CLI tool and go library which recommends instance types based on resource criteria like vcpus and memory
Stars: ✭ 146 (+15.87%)
Mutual labels:  ec2
Kitchen Ec2
A Test Kitchen Driver for Amazon EC2
Stars: ✭ 211 (+67.46%)
Mutual labels:  ec2
Aws Toolkit Eclipse
AWS Toolkit for Eclipse – an open-source plugin for developing, deploying, and managing AWS applications.
Stars: ✭ 252 (+100%)
Mutual labels:  ec2
Aws Sdk Perl
A community AWS SDK for Perl Programmers
Stars: ✭ 153 (+21.43%)
Mutual labels:  ec2
Aws Cost Saver
A tiny CLI tool to help save costs in development environments when you're asleep and don't need them!
Stars: ✭ 178 (+41.27%)
Mutual labels:  ec2
Keymaker
Lightweight SSH key management on AWS EC2
Stars: ✭ 221 (+75.4%)
Mutual labels:  ec2
Deploy Strapi On Aws
Deploying a Strapi API on AWS (EC2 & RDS & S3)
Stars: ✭ 121 (-3.97%)
Mutual labels:  ec2
terraform-aws-eks-workers
Terraform module to provision an AWS AutoScaling Group, IAM Role, and Security Group for EKS Workers
Stars: ✭ 82 (-34.92%)
Mutual labels:  ec2
Gossm
💻Interactive CLI tool that you can connect to ec2 using commands same as start-session, ssh in AWS SSM Session Manager
Stars: ✭ 192 (+52.38%)
Mutual labels:  ec2
Laravel Aws Eb
Ready-to-deploy configuration to run Laravel on AWS Elastic Beanstalk.
Stars: ✭ 247 (+96.03%)
Mutual labels:  ec2
Autospotting
Saves up to 90% of AWS EC2 costs by automating the use of spot instances on existing AutoScaling groups. Installs in minutes using CloudFormation or Terraform. Convenient to deploy at scale using StackSets. Uses tagging to avoid launch configuration changes. Automated spot termination handling. Reliable fallback to on-demand instances.
Stars: ✭ 2,014 (+1498.41%)
Mutual labels:  ec2
Aws Ec2 Assign Elastic Ip
Automatically assign Elastic IPs to AWS EC2 Auto Scaling Group instances
Stars: ✭ 172 (+36.51%)
Mutual labels:  ec2
Aws Ssh Config
Generate SSH config files from AWS EC2 inventory
Stars: ✭ 229 (+81.75%)
Mutual labels:  ec2
Awscloudformation Samples
Sample AWS CloudFormation templates
Stars: ✭ 153 (+21.43%)
Mutual labels:  ec2
amazon-cloudwatch-auto-alarms
Automatically create and configure Amazon CloudWatch alarms for EC2 instances, RDS, and AWS Lambda using tags for standard and custom CloudWatch Metrics.
Stars: ✭ 52 (-58.73%)
Mutual labels:  ec2
Terraform Aws Labs
Terraform template for AWS provider ☁️
Stars: ✭ 146 (+15.87%)
Mutual labels:  ec2
Awsssmchaosrunner
Amazon's light-weight library for chaos engineering on AWS. It can be used for EC2, ECS (with EC2 launch type) and Fargate.
Stars: ✭ 214 (+69.84%)
Mutual labels:  ec2
terraform-aws-ec2
Terraform module to create an EC2 resource on AWS with Elastic IP Addresses and Elastic Block Store.
Stars: ✭ 33 (-73.81%)
Mutual labels:  ec2
ecs-ansible-packer-terraform-wordpress
Proof of concept: Install wordpress environment using ansible, packer, docker, terraform and AWS.
Stars: ✭ 29 (-76.98%)
Mutual labels:  ec2
Komiser
☁️ Cloud Environment Inspector 👮🔒 💰
Stars: ✭ 2,684 (+2030.16%)
Mutual labels:  ec2

ocaml-aws

ocaml-aws is an Amazon Web Services SDK for OCaml. Its source distribution includes a core runtime API and a code generation tool that generates individual libraries from botocore service descriptions.

API Documentation

Development

You can install the core library and its dependencies by pinning:

opam pin add aws .

After pinning, you can install to the latest development version by checking out the commit and running:

opam update aws

Running individual test suites for a Service

AWS_ACCESS_KEY_ID=???? \
AWS_SECRET_ACCESS_KEY=???? \
AWS_DEFAULT_REGION=ap-southeast-2 \
dune runtest libraries/ec2/lib_test

Code Generation

To generate service libaries during development and in preparation for release, first configure the build to enable code generation and run the gen target of the Makefile. Note that the code generation tool has its own set of dependencies that must be installed in order for the build to succeed. In addition, the Makefile is written for GNU make. Some platforms such as OS X and FreeBSD do not have a GNU-compatible make installed by default. If you get strage error messages at this stage of the build, check your make. The following commands will configure the build for code generation and regenerate the libraries from the current definitions:

# Compile code generator
make gen

# Compile generated libraries
make

Release

To generate a release to opam requires dune-release to be installed, then run:

make opam-release

Example

Here's how you use the library and EC2 bindings to retrieve a list of regions from AWS and print them to stdout. This example uses the Async runtime, but the equivalent lwt example is identical in structure.

open Core
open Async
open Aws_ec2

let to_result = function
  | `Ok x    -> Ok x
  | `Error e -> Error (Aws.Error.format Errors.to_string e)

let main () =
  Aws_async.Runtime.run_request
    ~region:"us-east-1" ~access_key:"<...>" ~secret_key:"<...>"
    (module DescribeRegions)
    (Types.DescribeRegionsRequest.make ())
  >>| to_result
  >>| Option.value_exn
  >>|? List.iter ~f:(fun x -> Log.Global.info "%s" x.Types.Region.region_name)
  >>> function
    | Ok ()   -> exit 0
    | Error e -> Log.Global.error "%s" e; exit 1

Scheduler.go_main ~main ()

DEBUGGING

If you get this error when running test or example code Fatal error: exception (Failure "No SSL or TLS support compiled into Conduit")

You need to install the ssl versions of your chosen async framework

opam install lwt_ssl async_ssl

License

BSD3, see LICENSE file for its text.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].