Created: 2023-08-11 | Updated: 2024-09-21

S3

New (v0.2.0)

Table of contents

  1. Node Type: s3
  2. Rendering:
  3. Code Snippet:
  4. drawio s3 vertex:
  5. Advanced for Geeks:
    1. Style:
    2. Vertex size:
    3. Full XML dump:
    4. drawio file:

Node Type: s3

Rendering:

lambda

Code Snippet:

# given
mcd = MultiCloudDiagrams()

# when
s3_arn = 'arn:aws:s3:::content_bucket'

metadata = {
    'x-amz-bucket-region': 'eu-west-1',
    'CreationDate': '2023-11-11',
    'Transitions': "[{'Days': 60, 'StorageClass': 'GLACIER'}]",
    'AbortIncompleteMultipartUpload': "{'DaysAfterInitiation': 5}",
    'PublicAccessBlockConfiguration': "{'BlockPublicAcls': True, 'IgnorePublicAcls': True, 'BlockPublicPolicy': True, 'RestrictPublicBuckets': True}",
    'Expiration': "{'Days': 90}",
    'LifecycleConfiguration': 'NO',
    'CORSConfiguration': 'NO',
    'LoggingConfiguration': 'NO',
    'Versioning': 'Enabled',
    'MFADelete': 'Disabled'
}

mcd.add_vertex(node_id=s3_arn, node_name='content_bucket', node_type='s3', metadata=metadata)

drawio s3 vertex:

<mxCell id="vertex:s3:arn:aws:s3:::content_bucket" parent="1" vertex="1">
    <mxGeometry width="78" height="78" as="geometry"/>
</mxCell>

Advanced for Geeks:

Style:

style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;shape=mxgraph.aws3.bucket_with_objects;fillColor=#E05243;gradientColor=none;"
attributevalue
alignleft
dashed0
fillColor#E05243
gradientColornone
html1
outlineConnect0
shapemxgraph.aws3.bucket_with_objects
verticalAligntop
verticalLabelPositionbottom

Vertex size:

attributevalue
width78
height78

Full XML dump:

<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:s3:arn:aws:s3:::content_bucket" value="&lt;b&gt;Name&lt;/b&gt;: content_bucket&lt;BR&gt;&lt;b&gt;ARN&lt;/b&gt;: arn:aws:s3:::content_bucket&lt;BR&gt;-----------&lt;BR&gt;&lt;b&gt;x-amz-bucket-region&lt;/b&gt;: eu-west-1&lt;BR&gt;&lt;b&gt;CreationDate&lt;/b&gt;: 2023-11-11&lt;BR&gt;&lt;b&gt;Transitions&lt;/b&gt;: [{'Days': 60, 'StorageClass': 'GLACIER'}]&lt;BR&gt;&lt;b&gt;AbortIncompleteMultipartUpload&lt;/b&gt;: {'DaysAfterInitiation': 5}&lt;BR&gt;&lt;b&gt;PublicAccessBlockConfiguration&lt;/b&gt;: {'BlockPublicAcls': True, 'IgnorePublicAcls': True, 'BlockPublicPolicy': True, 'RestrictPublicBuckets': True}&lt;BR&gt;&lt;b&gt;Expiration&lt;/b&gt;: {'Days': 90}&lt;BR&gt;&lt;b&gt;LifecycleConfiguration&lt;/b&gt;: NO&lt;BR&gt;&lt;b&gt;CORSConfiguration&lt;/b&gt;: NO&lt;BR&gt;&lt;b&gt;LoggingConfiguration&lt;/b&gt;: NO&lt;BR&gt;&lt;b&gt;Versioning&lt;/b&gt;: Enabled&lt;BR&gt;&lt;b&gt;MFADelete&lt;/b&gt;: Disabled" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=left;html=1;shape=mxgraph.aws3.bucket_with_objects;fillColor=#E05243;gradientColor=none;" parent="1" vertex="1">
                    <mxGeometry width="78" height="78" as="geometry"/>
                </mxCell>
            </root>
        </mxGraphModel>
    </diagram>
</mxfile>

drawio file:

Download generated s3.drawio:

Download