b-twilio-sdk-layer 1.0.1
AWS CDK based lambda layer including Twilio SDK.
License: Apache License 2.0
Keywords: AWS CDK Lambda Layer Twilio

# B.TwilioSdkLayer

An AWS CDK based lambda layer containing Twilio SDK for python.

### Description

This library is intended to simplify Twilio SDK dependency management
in AWS architectures where Twilio logic is being handled with lambda
functions. Simply include this layer when creating a lambda function
to enable Twilio functionality.

**NOTE!** In order to use this layer, a `docker` command must be available
on your machine. It is because the CDK runs a bundling command on a 
docker container to create the Twilio dependency.

### Remarks

[Biomapas](https://biomapas.com) aims to modernise life-science 
industry by sharing its IT knowledge with other companies and 
the community. This is an open source library intended to be used 
by anyone. Improvements and pull requests are welcome.

### Related technology

- Python 3
- AWS CDK
- Twilio

### Assumptions

The project assumes the following:

- You have basic-good knowledge in python programming.
- You have basic-good knowledge in AWS and AWS CDK.
- You have basic knowledge in Twilio.

### Useful sources

- Read more about Twilio SDK:<br>
https://www.twilio.com/docs/libraries/python

### Install

The project is built and uploaded to PyPi. Install it by using pip.

```
pip install b_twilio_sdk_layer
```

Or directly install it through source.

```
pip install .
```

### Usage & Examples

Create a lambda function with this layer:
```python
from aws_cdk.aws_lambda import Function, Code, Runtime
from b_twilio_sdk_layer.layer import Layer as TwilioLayer
from b_cfn_lambda_layer.package_version import PackageVersion

Function(
    scope=stack,
    id='MyCoolFunction',
    function_name='MyCoolFunction',
    code=Code.from_asset('/path/to/your/code'),
    handler='index.handler',
    runtime=Runtime.PYTHON_3_8,
    layers=[TwilioLayer(
        stack,
        'MyCoolTwilioLayer',
        twilio_sdk_version=PackageVersion.from_string_version('7.4.0')
    )],
)
```

### Testing

This package has integration tests based on pytest. To run tests simply run:

```
pytest b_twilio_sdk_layer_test/integration/tests
```

### Contribution

Found a bug? Want to add or suggest a new feature?<br>
Contributions of any kind are gladly welcome. You may contact us 
directly, create a pull-request or an issue in github platform.
Lets modernize the world together.


# Release history

### 1.0.1
* Set aws-cdk@1.x strict version.

### 1.0.0
* Restructure project. Start using the new b-cfn-lambda-layer Layer implementation.
* Add Twilio layer test.
* Add support for Twilio Python SDK version parameter.

### 0.0.8
* Ensure consistent builds.

### 0.0.7
* Add -R option for better debugging.

### 0.0.6
* Add latest boto version to tests.

### 0.0.5
* Add ability to bundle boto3 library. Simply specify
version in the constructor.

### 0.0.4
* Update Docker bundling commands. Use bash to move files between directories instead of installing with `-t` flag.
Related issue: https://github.com/pypa/pip/issues/103

### 0.0.3
* Add disclaimer that `docker` is required.

### 0.0.2
* Ensure that cdk application works by running `cdk synth` command.

### 0.0.1
* Initial build.
* Twilio SDK 6.46.0.
* Docker image for asset building: python:3.9.