@startuml AWS CodePipeline - Human Approval Step 'Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 'SPDX-License-Identifier: MIT (For details, see https://github.com/awslabs/aws-icons-for-plantuml/blob/master/LICENSE) ' based on https://catalog.us-east-1.prod.workshops.aws/workshops/752fd04a-f7c3-49a0-a9a0-c9b5ed40061b/en-US/codepipeline-extend ' Uncomment the line below for "dark mode" styling '!$AWS_DARK = true !define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/v23.1/dist !include AWSPuml/AWSCommon.puml !include AWSPuml/AWSExperimental.puml !include AWSPuml/ApplicationIntegration/SimpleNotificationService.puml !include AWSPuml/Compute/EC2.puml !include AWSPuml/DeveloperTools/CodeBuild.puml !include AWSPuml/DeveloperTools/CodeDeploy.puml !include AWSPuml/DeveloperTools/CodePipeline.puml !include AWSPuml/General/GitRepository.puml !include AWSPuml/General/User.puml !include AWSPuml/Storage/SimpleStorageService.puml $AWSGroupColoring(CodePipelineGroup, $AWSColor(DeveloperTools)) !define CodePipelineGroup(g_alias, g_label="AWS CodePipeline") $AWSDefineGroup(g_alias, g_label, CodePipeline, CodePipelineGroup) ' Groups are rectangles with a custom style using stereotype - need to hide hide stereotype skinparam linetype ortho skinparam rectangle { BackgroundColor $AWS_BG_COLOR BorderColor transparent } ' define custom procedure for AWS Service icon and two lines of text !procedure $AWSIcon($service, $line1, $line2="") rectangle "$AWSImg($service)\n$line1\n$line2" !endprocedure CodePipelineGroup(pipeline){ $AWSIcon(GitRepository, "Git Repository") as gr $AWSIcon(CodeBuild, "AWS CodeBuild") as cb $AWSIcon(SimpleStorageService, "Amazon S3", "(artifact store)") as s3 gr -r-> cb: \n<$Callout_1> cb -d-> s3: <$Callout_2><$Callout_SP> $AWSIcon(CodeDeploy, "AWS CodeDeploy") as cd1 $AWSIcon(EC2, "Amazon EC2", "(dev)") as ec2dev cb -r-> cd1: \n<$Callout_3> cd1 -d-> ec2dev: <$Callout_4><$Callout_SP> $AWSIcon(User, "Human", "Approval") as user cd1 -r-> user: \n<$Callout_5> $AWSIcon(CodeDeploy, "AWS CodeDeploy") as cd2 $AWSIcon(EC2, "Amazon EC2", "(prod)") as ec2prod user -r-> cd2: \n<$Callout_6> cd2 -d-> ec2prod: <$Callout_7><$Callout_SP> $AWSIcon(SimpleNotificationService, "SNS Notification") as sns cd2 -r-> sns: \n<$Callout_8> } @enduml