Skip to content

Commit

Permalink
feat: add aws chime sdk & aws chime voice connector services
Browse files Browse the repository at this point in the history
  • Loading branch information
tsypuk committed Feb 25, 2024
1 parent 70f3f9e commit 8cd56fa
Show file tree
Hide file tree
Showing 9 changed files with 339 additions and 0 deletions.
99 changes: 99 additions & 0 deletions docs/docs/aws-components/chime_sdk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
layout: default
title: Amazon Chime SDK
parent: AWS Components
nav_order: 3
date: 2024-02-25
---

# Amazon Chime SDK
{: .d-inline-block .no_toc }

New (v0.3.32)
{: .label .label-green }

## Table of contents
{: .no_toc .text-delta }

1. TOC
{:toc}

---


## Node Type: ``chime_sdk``

## Rendering:

![lambda](output/jpg/chime_sdk.jpg)

## Code Snippet:

```python
{% root_include_snippet ../tests/aws/test_chime_sdk.py %}
```

## drawio chime_sdk vertex:

```xml
<mxCell id="vertex:chime_sdk:arn:aws:chime_sdk:us-east-1:123456789012:vc/xxxsomeid" parent="1" vertex="1">
<mxGeometry width="78" height="78" as="geometry"/>
</mxCell>
```
---

## Advanced for Geeks:

### Style:
```html
style="sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime_sdk;"
```

| attribute | value |
|:----------|:------|
|align| left |
|aspect| fixed |
|dashed| 0 |
|fillColor| #C7131F |
|fontSize| 12 |
|fontStyle| 0 |
|gradientColor| #FF5252 |
|gradientDirection| north |
|html| 1 |
|outlineConnect| 0 |
|resIcon| mxgraph.aws4.chime_sdk |
|shape| mxgraph.aws4.resourceIcon |
|sketch| 0 |
|strokeColor| #ffffff |
|verticalAlign| top |
|verticalLabelPosition| bottom |

### Vertex size:

| attribute | value |
|:---------|:-----------|
| width | 78 |
| height |78|

### Full XML dump:
```xml
<mxfile host="multicloud-diagrams" agent="PIP package multicloud-diagrams. Generate resources in draw.io compatible format for Cloud infrastructure. Copyrights @ Roman Tsypuk 2023. MIT license." type="MultiCloud">
<diagram id="diagram_1" name="AWS components">
<mxGraphModel dx="1015" dy="661" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="1">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="vertex:chime_sdk:arn:aws:chime_sdk:us-east-1:123456789012:vc/xxxsomeid" value="&lt;b&gt;Name&lt;/b&gt;: chime_sdk&lt;BR&gt;&lt;b&gt;ARN&lt;/b&gt;: arn:aws:chime_sdk:us-east-1:123456789012:vc/xxxsomeid&lt;BR&gt;-----------&lt;BR&gt;&lt;b&gt;name&lt;/b&gt;: sdk&lt;BR&gt;&lt;b&gt;CreationDate&lt;/b&gt;: 2023-11-11&lt;BR&gt;&lt;b&gt;CallDetails&lt;/b&gt;: enabled&lt;BR&gt;&lt;b&gt;SipRules&lt;/b&gt;: none&lt;BR&gt;&lt;b&gt;Analytics&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;KinesisVideo&lt;/b&gt;: Disabled&lt;BR&gt;&lt;b&gt;VoiceConnector&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;VoiceConnectorTermination&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;VoiceConnectorStreaming&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;S3Recording&lt;/b&gt;: Enabled" style="sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime_sdk;" parent="1" vertex="1">
<mxGeometry width="78" height="78" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
```

### drawio file:

Download generated ``chime_sdk.drawio``:

[Download](output/drawio/chime_sdk.drawio){: .btn .btn-purple }
99 changes: 99 additions & 0 deletions docs/docs/aws-components/chime_voice_connector.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
layout: default
title: Amazon Chime Voice Connector
parent: AWS Components
nav_order: 3
date: 2024-02-25
---

# Amazon Chime Voice Connector
{: .d-inline-block .no_toc }

New (v0.3.32)
{: .label .label-green }

## Table of contents
{: .no_toc .text-delta }

1. TOC
{:toc}

---


## Node Type: ``chime_voice_connector``

## Rendering:

![lambda](output/jpg/chime_voice_connector.jpg)

## Code Snippet:

```python
{% root_include_snippet ../tests/aws/test_chime_voice_connector.py %}
```

## drawio chime_voice_connector vertex:

```xml
<mxCell id="vertex:chime_voice_connector:arn:aws:chime:us-east-1:123456789012:vc/xxxsomeid" parent="1" vertex="1">
<mxGeometry width="78" height="78" as="geometry"/>
</mxCell>
```
---

## Advanced for Geeks:

### Style:
```html
style="sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime;"
```

| attribute | value |
|:----------|:------|
|align| left |
|aspect| fixed |
|dashed| 0 |
|fillColor| #C7131F |
|fontSize| 12 |
|fontStyle| 0 |
|gradientColor| #FF5252 |
|gradientDirection| north |
|html| 1 |
|outlineConnect| 0 |
|resIcon| mxgraph.aws4.chime |
|shape| mxgraph.aws4.resourceIcon |
|sketch| 0 |
|strokeColor| #ffffff |
|verticalAlign| top |
|verticalLabelPosition| bottom |

### Vertex size:

| attribute | value |
|:---------|:-----------|
| width | 78 |
| height |78|

### Full XML dump:
```xml
<mxfile host="multicloud-diagrams" agent="PIP package multicloud-diagrams. Generate resources in draw.io compatible format for Cloud infrastructure. Copyrights @ Roman Tsypuk 2023. MIT license." type="MultiCloud">
<diagram id="diagram_1" name="AWS components">
<mxGraphModel dx="1015" dy="661" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="1">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="vertex:chime_voice_connector:arn:aws:chime:us-east-1:123456789012:vc/xxxsomeid" value="&lt;b&gt;Name&lt;/b&gt;: chime_voice_connector&lt;BR&gt;&lt;b&gt;ARN&lt;/b&gt;: arn:aws:chime:us-east-1:123456789012:vc/xxxsomeid&lt;BR&gt;-----------&lt;BR&gt;&lt;b&gt;name&lt;/b&gt;: asterisk&lt;BR&gt;&lt;b&gt;CreationDate&lt;/b&gt;: 2023-11-11&lt;BR&gt;&lt;b&gt;Encryption&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;OutboundHostName&lt;/b&gt;: xxxsomeid.voiceconnector.chime.com&lt;BR&gt;&lt;b&gt;AllowedHostList&lt;/b&gt;: 122.122.xxx.xxx&lt;BR&gt;&lt;b&gt;CallsPerSecond&lt;/b&gt;: 5&lt;BR&gt;&lt;b&gt;UserAuth&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;port&lt;/b&gt;: 5060&lt;BR&gt;&lt;b&gt;CallingPlan&lt;/b&gt;: NO&lt;BR&gt;&lt;b&gt;PhoneNumbers&lt;/b&gt;: +XXXXXXXXXXX&lt;BR&gt;&lt;b&gt;Logging&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;KinesisVideo&lt;/b&gt;: Disabled" style="sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime;" parent="1" vertex="1">
<mxGeometry width="78" height="78" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
```

### drawio file:

Download generated ``chime_voice_connector.drawio``:

[Download](output/drawio/chime_voice_connector.drawio){: .btn .btn-purple }
13 changes: 13 additions & 0 deletions docs/docs/aws-components/output/drawio/chime_sdk.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<mxfile host="multicloud-diagrams" agent="PIP package multicloud-diagrams. Generate resources in draw.io compatible format for Cloud infrastructure. Copyrights @ Roman Tsypuk 2023. MIT license." type="MultiCloud">
<diagram id="diagram_1" name="AWS components">
<mxGraphModel dx="1015" dy="661" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="1">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="vertex:chime_sdk:arn:aws:chime_sdk:us-east-1:123456789012:vc/xxxsomeid" value="&lt;b&gt;Name&lt;/b&gt;: chime_sdk&lt;BR&gt;&lt;b&gt;ARN&lt;/b&gt;: arn:aws:chime_sdk:us-east-1:123456789012:vc/xxxsomeid&lt;BR&gt;-----------&lt;BR&gt;&lt;b&gt;name&lt;/b&gt;: sdk&lt;BR&gt;&lt;b&gt;CreationDate&lt;/b&gt;: 2023-11-11&lt;BR&gt;&lt;b&gt;CallDetails&lt;/b&gt;: enabled&lt;BR&gt;&lt;b&gt;SipRules&lt;/b&gt;: none&lt;BR&gt;&lt;b&gt;Analytics&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;KinesisVideo&lt;/b&gt;: Disabled&lt;BR&gt;&lt;b&gt;VoiceConnector&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;VoiceConnectorTermination&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;VoiceConnectorStreaming&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;S3Recording&lt;/b&gt;: Enabled" style="sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime_sdk;" parent="1" vertex="1">
<mxGeometry width="78" height="78" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<mxfile host="multicloud-diagrams" agent="PIP package multicloud-diagrams. Generate resources in draw.io compatible format for Cloud infrastructure. Copyrights @ Roman Tsypuk 2023. MIT license." type="MultiCloud">
<diagram id="diagram_1" name="AWS components">
<mxGraphModel dx="1015" dy="661" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="1">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="vertex:chime_voice_connector:arn:aws:chime:us-east-1:123456789012:vc/xxxsomeid" value="&lt;b&gt;Name&lt;/b&gt;: chime_voice_connector&lt;BR&gt;&lt;b&gt;ARN&lt;/b&gt;: arn:aws:chime:us-east-1:123456789012:vc/xxxsomeid&lt;BR&gt;-----------&lt;BR&gt;&lt;b&gt;name&lt;/b&gt;: asterisk&lt;BR&gt;&lt;b&gt;CreationDate&lt;/b&gt;: 2023-11-11&lt;BR&gt;&lt;b&gt;Encryption&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;OutboundHostName&lt;/b&gt;: xxxsomeid.voiceconnector.chime.com&lt;BR&gt;&lt;b&gt;AllowedHostList&lt;/b&gt;: 122.122.xxx.xxx&lt;BR&gt;&lt;b&gt;CallsPerSecond&lt;/b&gt;: 5&lt;BR&gt;&lt;b&gt;UserAuth&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;port&lt;/b&gt;: 5060&lt;BR&gt;&lt;b&gt;CallingPlan&lt;/b&gt;: NO&lt;BR&gt;&lt;b&gt;PhoneNumbers&lt;/b&gt;: +XXXXXXXXXXX&lt;BR&gt;&lt;b&gt;Logging&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;KinesisVideo&lt;/b&gt;: Disabled" style="sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime;" parent="1" vertex="1">
<mxGeometry width="78" height="78" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Binary file added docs/docs/aws-components/output/jpg/chime_sdk.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions multicloud_diagrams/providers/aws.json
Original file line number Diff line number Diff line change
Expand Up @@ -179,5 +179,19 @@
"height": "93",
"version": "0.3.27",
"desc": "Amazon S3 Glacier"
},
"chime_voice_connector": {
"style": "sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime;",
"width": "78",
"height": "78",
"version": "0.3.32",
"desc": "Amazon Chime Voice Connector"
},
"chime_sdk": {
"style": "sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime_sdk;",
"width": "78",
"height": "78",
"version": "0.3.32",
"desc": "Amazon Chime SDK"
}
}
49 changes: 49 additions & 0 deletions tests/aws/test_chime_sdk.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
from multicloud_diagrams import MultiCloudDiagrams
from utils.templating import TestRendering


class TestAWSVertexInIsolation(TestRendering):

def test_chime(self):
# docs
self.node_type = 'chime_sdk'

# given
mcd = MultiCloudDiagrams()

# when
chime_arn = 'arn:aws:chime_sdk:us-east-1:123456789012:vc/xxxsomeid'

metadata = {
'name': 'sdk',
'CreationDate': '2023-11-11',
'CallDetails': "enabled",
'SipRules': "none",
'Analytics': 'Enabled',
'KinesisVideo': 'Disabled',
'VoiceConnector': 'Enabled',
'VoiceConnectorTermination': 'Enabled',
'VoiceConnectorStreaming': 'Enabled',
'S3Recording': 'Enabled'
}

mcd.add_vertex(node_id=chime_arn, node_name='chime_sdk', node_type='chime_sdk', metadata=metadata)

# then
expected = {'id': 'vertex:chime_sdk:arn:aws:chime_sdk:us-east-1:123456789012:vc/xxxsomeid',
'parent': '1',
'style': 'sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime_sdk;',
'value': '<b>Name</b>: chime_sdk<BR><b>ARN</b>: '
'arn:aws:chime_sdk:us-east-1:123456789012:vc/xxxsomeid<BR>-----------<BR><b>name</b>: '
'sdk<BR><b>CreationDate</b>: 2023-11-11<BR><b>CallDetails</b>: '
'enabled<BR><b>SipRules</b>: none<BR><b>Analytics</b>: '
'Enabled<BR><b>KinesisVideo</b>: Disabled<BR><b>VoiceConnector</b>: '
'Enabled<BR><b>VoiceConnectorTermination</b>: '
'Enabled<BR><b>VoiceConnectorStreaming</b>: '
'Enabled<BR><b>S3Recording</b>: Enabled',
'vertex': '1'}

self.verify_resource(expected, mcd.mx_file, 'chime_sdk', 'chime_sdk')

# docs
self.mcd = mcd
52 changes: 52 additions & 0 deletions tests/aws/test_chime_voice_connector.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
from multicloud_diagrams import MultiCloudDiagrams
from utils.templating import TestRendering


class TestAWSVertexInIsolation(TestRendering):

def test_chime_voice_connector(self):
# docs
self.node_type = 'chime_voice_connector'

# given
mcd = MultiCloudDiagrams()

# when
chime_arn = 'arn:aws:chime:us-east-1:123456789012:vc/xxxsomeid'

metadata = {
'name': 'asterisk',
'CreationDate': '2023-11-11',
'Encryption': "Enabled",
'OutboundHostName': "xxxsomeid.voiceconnector.chime.com",
'AllowedHostList': "122.122.xxx.xxx",
'CallsPerSecond': "5",
'UserAuth': "Enabled",
'port': '5060',
'CallingPlan': 'NO',
'PhoneNumbers': '+XXXXXXXXXXX',
'Logging': 'Enabled',
'KinesisVideo': 'Disabled'
}

mcd.add_vertex(node_id=chime_arn, node_name='chime_voice_connector', node_type='chime_voice_connector', metadata=metadata)

# then
expected = {'id': 'vertex:chime_voice_connector:arn:aws:chime:us-east-1:123456789012:vc/xxxsomeid',
'parent': '1',
'style': 'sketch=0;outlineConnect=0;gradientColor=#FF5252;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime;',
'value': '<b>Name</b>: chime_voice_connector<BR><b>ARN</b>: '
'arn:aws:chime:us-east-1:123456789012:vc/xxxsomeid<BR>-----------<BR><b>name</b>: '
'asterisk<BR><b>CreationDate</b>: 2023-11-11<BR><b>Encryption</b>: '
'Enabled<BR><b>OutboundHostName</b>: '
'xxxsomeid.voiceconnector.chime.com<BR><b>AllowedHostList</b>: '
'122.122.xxx.xxx<BR><b>CallsPerSecond</b>: 5<BR><b>UserAuth</b>: '
'Enabled<BR><b>port</b>: 5060<BR><b>CallingPlan</b>: '
'NO<BR><b>PhoneNumbers</b>: +XXXXXXXXXXX<BR><b>Logging</b>: '
'Enabled<BR><b>KinesisVideo</b>: Disabled',
'vertex': '1'}

self.verify_resource(expected, mcd.mx_file, 'chime_voice_connector', 'chime_voice_connector')

# docs
self.mcd = mcd

0 comments on commit 8cd56fa

Please sign in to comment.