@startuml
' configures the library
!global $INCLUSION_MODE="local"
!global $LIB_BASE_LOCATION=".."

' loads the library's bootstrap
!include $LIB_BASE_LOCATION/bootstrap.puml

' loads the package bootstrap
include('aws-q1-2024/bootstrap')

include("aws-q1-2024/Resource/GeneralIcons/User")
include("aws-q1-2024/Resource/GeneralIcons/Server")
include("aws-q1-2024/Architecture/Compute/AwsLambda")
include("aws-q1-2024/Resource/Storage/AmazonSimpleStorageServiceBucketWithObjects")
include("aws-q1-2024/Resource/SecurityIdentityCompliance/AwsIdentityAccessManagementAddOn")
include("aws-q1-2024/Group/GroupAwsCloud")

left to right direction

User("git_users", "Git users")
Server("git_server", "Git Server")
GroupAwsCloud('aws') {
    AwsLambda("lambda0", "AWS Lambda")
    AwsLambda("lambda1", "AWS Lambda")
    AmazonSimpleStorageServiceBucketWithObjects("bucket_ssh", "Amazon S3 SSH key bucket")
    AwsIdentityAccessManagementAddOn("kms", "AWS KMS key")
    AmazonSimpleStorageServiceBucketWithObjects("bucket_output", "Amazon S3 output bucket")
}

git_users -down-> git_server : Relationship("git push", "ssh")
git_server -down-> lambda0 : Relationship("git webhook", "https")
lambda0 -down-> lambda1
lambda1 -down-> bucket_ssh
lambda1 -down-> kms
lambda1 -down-> bucket_output
lambda1 -up-> git_server
lambda1 -[hidden]- lambda0

@enduml