#
tokens: 76100/50000 1/104 files (page 98/104)
lines: off (toggle) GitHub
raw markdown copy
This is page 98 of 104. Use http://codebase.md/versuscontrol/ai-infrastructure-agent?page={x} to view the full context.

# Directory Structure

```
├── .github
│   └── workflows
│       ├── dev-ci.yaml
│       └── release.yaml
├── .gitignore
├── cmd
│   ├── server
│   │   └── main.go
│   ├── tmp
│   │   └── main.go
│   └── web
│       └── main.go
├── config.bedrock.yaml.example
├── config.gemini.yaml.example
├── config.openai.yaml.example
├── config.yaml
├── Dockerfile
├── docs
│   ├── _sidebar.md
│   ├── .nojekyll
│   ├── api-key-setup
│   │   ├── aws-bedrock-nova-setup.md
│   │   ├── gemini-api-setup.md
│   │   └── openai-api-setup.md
│   ├── architecture
│   │   └── architecture-overview.md
│   ├── CNAME
│   ├── docs.html
│   ├── examples
│   │   ├── working-with-ec2-instance.md
│   │   └── working-with-vpc.md
│   ├── getting-started.md
│   ├── images
│   │   ├── advanced-demo.svg
│   │   ├── ai-analysis-planning.png
│   │   ├── ai-execute-planning.png
│   │   ├── ai-infrastructure-agent.svg
│   │   ├── ai-infrastructure-state.png
│   │   ├── core-components.svg
│   │   ├── ec2-00.png
│   │   ├── ec2-01.png
│   │   ├── ec2-02.png
│   │   ├── ec2-03.png
│   │   ├── ec2-04.png
│   │   ├── ec2-05.png
│   │   ├── ec2-06.png
│   │   ├── ec2-07.png
│   │   ├── simple-demo.svg
│   │   ├── vpc-00.png
│   │   ├── vpc-01.png
│   │   ├── vpc-02.png
│   │   ├── vpc-03.png
│   │   ├── vpc-04.png
│   │   ├── vpc-05.png
│   │   ├── vpc-06.png
│   │   ├── vpc-07.png
│   │   ├── vpc-08.png
│   │   ├── vpc-09.png
│   │   ├── vpc-10.png
│   │   ├── vpc-11.png
│   │   ├── vpc-architecture.svg
│   │   └── web-dashboard.svg
│   ├── index.html
│   ├── installation.md
│   └── README.md
├── go.mod
├── go.sum
├── internal
│   ├── config
│   │   ├── config.go
│   │   └── loader.go
│   └── logging
│       └── logger.go
├── LICENSE
├── pkg
│   ├── adapters
│   │   ├── alb.go
│   │   ├── asg.go
│   │   ├── base.go
│   │   ├── ec2.go
│   │   ├── keypair.go
│   │   ├── rds.go
│   │   ├── security_group.go
│   │   └── vpc.go
│   ├── agent
│   │   ├── agent_capability_extractors.go
│   │   ├── agent_dependency_resolver.go
│   │   ├── agent_factory.go
│   │   ├── agent_json_processing.go
│   │   ├── agent_plan_executor.go
│   │   ├── agent_request_processor.go
│   │   ├── agent_resource_correlation.go
│   │   ├── agent_test.go
│   │   ├── agent_utility_helpers.go
│   │   ├── mcp_communication.go
│   │   ├── mocks
│   │   │   ├── aws_client_mock.go
│   │   │   ├── helpers.go
│   │   │   ├── mcp_integration_test.go
│   │   │   ├── mcp_server_mock.go
│   │   │   ├── state_manager_mock.go
│   │   │   └── validation.go
│   │   ├── react_agent_extensions.go
│   │   ├── react_error_context.go
│   │   ├── react_recovery_engine.go
│   │   ├── react_recovery_types.go
│   │   ├── resources
│   │   │   ├── field_resolver.go
│   │   │   ├── id_extractor.go
│   │   │   └── pattern_matcher.go
│   │   └── types.go
│   ├── api
│   │   └── server.go
│   ├── aws
│   │   ├── alb.go
│   │   ├── asg.go
│   │   ├── client.go
│   │   ├── ec2.go
│   │   ├── params.go
│   │   ├── rds.go
│   │   ├── security_group.go
│   │   └── vpc.go
│   ├── conflict
│   │   └── resolver.go
│   ├── discovery
│   │   └── scanner.go
│   ├── graph
│   │   ├── analyzer.go
│   │   └── manager.go
│   ├── interfaces
│   │   ├── aws_resource.go
│   │   ├── mcp_tool.go
│   │   └── state_management.go
│   ├── mcp
│   │   ├── resource_definitions.go
│   │   ├── resource_registry.go
│   │   ├── server_integration.go
│   │   ├── server.go
│   │   └── tool_manager.go
│   ├── state
│   │   └── manager.go
│   ├── tools
│   │   ├── alb_tools.go
│   │   ├── ami_tools.go
│   │   ├── asg_tools.go
│   │   ├── ec2_tools.go
│   │   ├── factory.go
│   │   ├── helpers.go
│   │   ├── keypair_tools.go
│   │   ├── networking_tools.go
│   │   ├── rds_tools.go
│   │   ├── registry.go
│   │   ├── security_group_tools.go
│   │   ├── state_tools.go
│   │   ├── vpc_tools.go
│   │   └── zone_tools.go
│   ├── types
│   │   └── mcp.go
│   └── utilities
│       └── helpers.go
├── README.md
├── scripts
│   ├── install.sh
│   └── run-web-ui.sh
├── settings
│   ├── field-mappings-enhanced.yaml
│   ├── resource-extraction-enhanced.yaml
│   ├── resource-patterns-enhanced.yaml
│   └── templates
│       ├── decision-plan-prompt-optimized.txt
│       └── tools-execution-context-optimized.txt
└── web
    └── build
        ├── ai-infrastructure-agent.svg
        ├── asset-manifest.json
        ├── aws-service-icons
        │   ├── .DS_Store
        │   ├── analytics
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Athena_16.png
        │   │   │   ├── Arch_Amazon-Athena_16.svg
        │   │   │   ├── Arch_Amazon-CloudSearch_16.png
        │   │   │   ├── Arch_Amazon-CloudSearch_16.svg
        │   │   │   ├── Arch_Amazon-Data-Firehose_16.png
        │   │   │   ├── Arch_Amazon-Data-Firehose_16.svg
        │   │   │   ├── Arch_Amazon-DataZone_16.png
        │   │   │   ├── Arch_Amazon-DataZone_16.svg
        │   │   │   ├── Arch_Amazon-EMR_16.png
        │   │   │   ├── Arch_Amazon-EMR_16.svg
        │   │   │   ├── Arch_Amazon-FinSpace_16.png
        │   │   │   ├── Arch_Amazon-FinSpace_16.svg
        │   │   │   ├── Arch_Amazon-Kinesis_16.png
        │   │   │   ├── Arch_Amazon-Kinesis_16.svg
        │   │   │   ├── Arch_Amazon-Kinesis-Data-Streams_16.png
        │   │   │   ├── Arch_Amazon-Kinesis-Data-Streams_16.svg
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_16.png
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_16.svg
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Apache-Flink_16.png
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Apache-Flink_16.svg
        │   │   │   ├── Arch_Amazon-Managed-Streaming-for-Apache-Kafka_16.png
        │   │   │   ├── Arch_Amazon-Managed-Streaming-for-Apache-Kafka_16.svg
        │   │   │   ├── Arch_Amazon-OpenSearch-Service_16.png
        │   │   │   ├── Arch_Amazon-OpenSearch-Service_16.svg
        │   │   │   ├── Arch_Amazon-QuickSight_16.png
        │   │   │   ├── Arch_Amazon-QuickSight_16.svg
        │   │   │   ├── Arch_Amazon-Redshift_16.png
        │   │   │   ├── Arch_Amazon-Redshift_16.svg
        │   │   │   ├── Arch_Amazon-SageMaker_16.png
        │   │   │   ├── Arch_Amazon-SageMaker_16.svg
        │   │   │   ├── Arch_AWS-Clean-Rooms_16.png
        │   │   │   ├── Arch_AWS-Clean-Rooms_16.svg
        │   │   │   ├── Arch_AWS-Data-Exchange_16.png
        │   │   │   ├── Arch_AWS-Data-Exchange_16.svg
        │   │   │   ├── Arch_AWS-Entity-Resolution_16.png
        │   │   │   ├── Arch_AWS-Entity-Resolution_16.svg
        │   │   │   ├── Arch_AWS-Glue_16.png
        │   │   │   ├── Arch_AWS-Glue_16.svg
        │   │   │   ├── Arch_AWS-Glue-DataBrew_16.png
        │   │   │   ├── Arch_AWS-Glue-DataBrew_16.svg
        │   │   │   ├── Arch_AWS-Lake-Formation_16.png
        │   │   │   └── Arch_AWS-Lake-Formation_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Athena_32.png
        │   │   │   ├── Arch_Amazon-Athena_32.svg
        │   │   │   ├── Arch_Amazon-CloudSearch_32.png
        │   │   │   ├── Arch_Amazon-CloudSearch_32.svg
        │   │   │   ├── Arch_Amazon-Data-Firehose_32.png
        │   │   │   ├── Arch_Amazon-Data-Firehose_32.svg
        │   │   │   ├── Arch_Amazon-DataZone_32.png
        │   │   │   ├── Arch_Amazon-DataZone_32.svg
        │   │   │   ├── Arch_Amazon-EMR_32.png
        │   │   │   ├── Arch_Amazon-EMR_32.svg
        │   │   │   ├── Arch_Amazon-FinSpace_32.png
        │   │   │   ├── Arch_Amazon-FinSpace_32.svg
        │   │   │   ├── Arch_Amazon-Kinesis_32.png
        │   │   │   ├── Arch_Amazon-Kinesis_32.svg
        │   │   │   ├── Arch_Amazon-Kinesis-Data-Streams_32.png
        │   │   │   ├── Arch_Amazon-Kinesis-Data-Streams_32.svg
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_32.png
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_32.svg
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Apache-Flink_32.png
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Apache-Flink_32.svg
        │   │   │   ├── Arch_Amazon-Managed-Streaming-for-Apache-Kafka_32.png
        │   │   │   ├── Arch_Amazon-Managed-Streaming-for-Apache-Kafka_32.svg
        │   │   │   ├── Arch_Amazon-OpenSearch-Service_32.png
        │   │   │   ├── Arch_Amazon-OpenSearch-Service_32.svg
        │   │   │   ├── Arch_Amazon-QuickSight_32.png
        │   │   │   ├── Arch_Amazon-QuickSight_32.svg
        │   │   │   ├── Arch_Amazon-Redshift_32.png
        │   │   │   ├── Arch_Amazon-Redshift_32.svg
        │   │   │   ├── Arch_Amazon-SageMaker_32.png
        │   │   │   ├── Arch_Amazon-SageMaker_32.svg
        │   │   │   ├── Arch_AWS-Clean-Rooms_32.png
        │   │   │   ├── Arch_AWS-Clean-Rooms_32.svg
        │   │   │   ├── Arch_AWS-Data-Exchange_32.png
        │   │   │   ├── Arch_AWS-Data-Exchange_32.svg
        │   │   │   ├── Arch_AWS-Entity-Resolution_32.png
        │   │   │   ├── Arch_AWS-Entity-Resolution_32.svg
        │   │   │   ├── Arch_AWS-Glue_32.png
        │   │   │   ├── Arch_AWS-Glue_32.svg
        │   │   │   ├── Arch_AWS-Glue-DataBrew_32.png
        │   │   │   ├── Arch_AWS-Glue-DataBrew_32.svg
        │   │   │   ├── Arch_AWS-Lake-Formation_32.png
        │   │   │   └── Arch_AWS-Lake-Formation_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Athena_48.png
        │   │   │   ├── Arch_Amazon-Athena_48.svg
        │   │   │   ├── Arch_Amazon-CloudSearch_48.png
        │   │   │   ├── Arch_Amazon-CloudSearch_48.svg
        │   │   │   ├── Arch_Amazon-Data-Firehose_48.png
        │   │   │   ├── Arch_Amazon-Data-Firehose_48.svg
        │   │   │   ├── Arch_Amazon-DataZone_48.png
        │   │   │   ├── Arch_Amazon-DataZone_48.svg
        │   │   │   ├── Arch_Amazon-EMR_48.png
        │   │   │   ├── Arch_Amazon-EMR_48.svg
        │   │   │   ├── Arch_Amazon-FinSpace_48.png
        │   │   │   ├── Arch_Amazon-FinSpace_48.svg
        │   │   │   ├── Arch_Amazon-Kinesis_48.png
        │   │   │   ├── Arch_Amazon-Kinesis_48.svg
        │   │   │   ├── Arch_Amazon-Kinesis-Data-Streams_48.png
        │   │   │   ├── Arch_Amazon-Kinesis-Data-Streams_48.svg
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_48.png
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_48.svg
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Apache-Flink_48.png
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Apache-Flink_48.svg
        │   │   │   ├── Arch_Amazon-Managed-Streaming-for-Apache-Kafka_48.png
        │   │   │   ├── Arch_Amazon-Managed-Streaming-for-Apache-Kafka_48.svg
        │   │   │   ├── Arch_Amazon-OpenSearch-Service_48.png
        │   │   │   ├── Arch_Amazon-OpenSearch-Service_48.svg
        │   │   │   ├── Arch_Amazon-QuickSight_48.png
        │   │   │   ├── Arch_Amazon-QuickSight_48.svg
        │   │   │   ├── Arch_Amazon-Redshift_48.png
        │   │   │   ├── Arch_Amazon-Redshift_48.svg
        │   │   │   ├── Arch_Amazon-SageMaker_48.png
        │   │   │   ├── Arch_Amazon-SageMaker_48.svg
        │   │   │   ├── Arch_AWS-Clean-Rooms_48.png
        │   │   │   ├── Arch_AWS-Clean-Rooms_48.svg
        │   │   │   ├── Arch_AWS-Data-Exchange_48.png
        │   │   │   ├── Arch_AWS-Data-Exchange_48.svg
        │   │   │   ├── Arch_AWS-Entity-Resolution_48.png
        │   │   │   ├── Arch_AWS-Entity-Resolution_48.svg
        │   │   │   ├── Arch_AWS-Glue_48.png
        │   │   │   ├── Arch_AWS-Glue_48.svg
        │   │   │   ├── Arch_AWS-Glue-DataBrew_48.png
        │   │   │   ├── Arch_AWS-Glue-DataBrew_48.svg
        │   │   │   ├── Arch_AWS-Lake-Formation_48.png
        │   │   │   └── Arch_AWS-Lake-Formation_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-Athena_64.png
        │   │       ├── Arch_Amazon-Athena_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-CloudSearch_64.png
        │   │       ├── Arch_Amazon-CloudSearch_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Data-Firehose_64.png
        │   │       ├── Arch_Amazon-Data-Firehose_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-DataZone_64.png
        │   │       ├── Arch_Amazon-DataZone_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-EMR_64.png
        │   │       ├── Arch_Amazon-EMR_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-FinSpace_64.png
        │   │       ├── Arch_Amazon-FinSpace_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Kinesis_64.png
        │   │       ├── Arch_Amazon-Kinesis_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Kinesis-Data-Streams_64.png
        │   │       ├── Arch_Amazon-Kinesis-Data-Streams_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Kinesis-Video-Streams_64.png
        │   │       ├── Arch_Amazon-Kinesis-Video-Streams_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Managed-Service-for-Apache-Flink_64.png
        │   │       ├── Arch_Amazon-Managed-Service-for-Apache-Flink_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Managed-Streaming-for-Apache-Kafka_64.png
        │   │       ├── Arch_Amazon-Managed-Streaming-for-Apache-Kafka_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-OpenSearch-Service_64.png
        │   │       ├── Arch_Amazon-OpenSearch-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-QuickSight_64.png
        │   │       ├── Arch_Amazon-QuickSight_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Redshift_64.png
        │   │       ├── Arch_Amazon-Redshift_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-SageMaker_64.png
        │   │       ├── Arch_Amazon-SageMaker_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Clean-Rooms_64.png
        │   │       ├── Arch_AWS-Clean-Rooms_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Data-Exchange_64.png
        │   │       ├── Arch_AWS-Data-Exchange_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Entity-Resolution_64.png
        │   │       ├── Arch_AWS-Entity-Resolution_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Glue_64.png
        │   │       ├── Arch_AWS-Glue_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Glue-DataBrew_64.png
        │   │       ├── Arch_AWS-Glue-DataBrew_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Lake-Formation_64.png
        │   │       ├── Arch_AWS-Lake-Formation_64.svg
        │   │       └── [email protected]
        │   ├── app-integration
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-AppFlow_16.png
        │   │   │   ├── Arch_Amazon-AppFlow_16.svg
        │   │   │   ├── Arch_Amazon-EventBridge_16.png
        │   │   │   ├── Arch_Amazon-EventBridge_16.svg
        │   │   │   ├── Arch_Amazon-Managed-Workflows-for-Apache-Airflow_16.png
        │   │   │   ├── Arch_Amazon-Managed-Workflows-for-Apache-Airflow_16.svg
        │   │   │   ├── Arch_Amazon-MQ_16.png
        │   │   │   ├── Arch_Amazon-MQ_16.svg
        │   │   │   ├── Arch_Amazon-Simple-Notification-Service_16.png
        │   │   │   ├── Arch_Amazon-Simple-Notification-Service_16.svg
        │   │   │   ├── Arch_Amazon-Simple-Queue-Service_16.png
        │   │   │   ├── Arch_Amazon-Simple-Queue-Service_16.svg
        │   │   │   ├── Arch_AWS-AppSync_16.png
        │   │   │   ├── Arch_AWS-AppSync_16.svg
        │   │   │   ├── Arch_AWS-B2B-Data-Interchange_16.png
        │   │   │   ├── Arch_AWS-B2B-Data-Interchange_16.svg
        │   │   │   ├── Arch_AWS-Express-Workflows_16.png
        │   │   │   ├── Arch_AWS-Express-Workflows_16.svg
        │   │   │   ├── Arch_AWS-Step-Functions_16.png
        │   │   │   └── Arch_AWS-Step-Functions_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-AppFlow_32.png
        │   │   │   ├── Arch_Amazon-AppFlow_32.svg
        │   │   │   ├── Arch_Amazon-EventBridge_32.png
        │   │   │   ├── Arch_Amazon-EventBridge_32.svg
        │   │   │   ├── Arch_Amazon-Managed-Workflows-for-Apache-Airflow_32.png
        │   │   │   ├── Arch_Amazon-Managed-Workflows-for-Apache-Airflow_32.svg
        │   │   │   ├── Arch_Amazon-MQ_32.png
        │   │   │   ├── Arch_Amazon-MQ_32.svg
        │   │   │   ├── Arch_Amazon-Simple-Notification-Service_32.png
        │   │   │   ├── Arch_Amazon-Simple-Notification-Service_32.svg
        │   │   │   ├── Arch_Amazon-Simple-Queue-Service_32.png
        │   │   │   ├── Arch_Amazon-Simple-Queue-Service_32.svg
        │   │   │   ├── Arch_AWS-AppSync_32.png
        │   │   │   ├── Arch_AWS-AppSync_32.svg
        │   │   │   ├── Arch_AWS-B2B-Data-Interchange_32.png
        │   │   │   ├── Arch_AWS-B2B-Data-Interchange_32.svg
        │   │   │   ├── Arch_AWS-Express-Workflows_32.png
        │   │   │   ├── Arch_AWS-Express-Workflows_32.svg
        │   │   │   ├── Arch_AWS-Step-Functions_32.png
        │   │   │   └── Arch_AWS-Step-Functions_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-AppFlow_48.png
        │   │   │   ├── Arch_Amazon-AppFlow_48.svg
        │   │   │   ├── Arch_Amazon-EventBridge_48.png
        │   │   │   ├── Arch_Amazon-EventBridge_48.svg
        │   │   │   ├── Arch_Amazon-Managed-Workflows-for-Apache-Airflow_48.png
        │   │   │   ├── Arch_Amazon-Managed-Workflows-for-Apache-Airflow_48.svg
        │   │   │   ├── Arch_Amazon-MQ_48.png
        │   │   │   ├── Arch_Amazon-MQ_48.svg
        │   │   │   ├── Arch_Amazon-Simple-Notification-Service_48.png
        │   │   │   ├── Arch_Amazon-Simple-Notification-Service_48.svg
        │   │   │   ├── Arch_Amazon-Simple-Queue-Service_48.png
        │   │   │   ├── Arch_Amazon-Simple-Queue-Service_48.svg
        │   │   │   ├── Arch_AWS-AppSync_48.png
        │   │   │   ├── Arch_AWS-AppSync_48.svg
        │   │   │   ├── Arch_AWS-B2B-Data-Interchange_48.png
        │   │   │   ├── Arch_AWS-B2B-Data-Interchange_48.svg
        │   │   │   ├── Arch_AWS-Express-Workflows_48.png
        │   │   │   ├── Arch_AWS-Express-Workflows_48.svg
        │   │   │   ├── Arch_AWS-Step-Functions_48.png
        │   │   │   └── Arch_AWS-Step-Functions_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-AppFlow_64.png
        │   │       ├── Arch_Amazon-AppFlow_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-EventBridge_64.png
        │   │       ├── Arch_Amazon-EventBridge_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Managed-Workflows-for-Apache-Airflow_64.png
        │   │       ├── Arch_Amazon-Managed-Workflows-for-Apache-Airflow_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-MQ_64.png
        │   │       ├── Arch_Amazon-MQ_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Simple-Notification-Service_64.png
        │   │       ├── Arch_Amazon-Simple-Notification-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Simple-Queue-Service_64.png
        │   │       ├── Arch_Amazon-Simple-Queue-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-AppSync_64.png
        │   │       ├── Arch_AWS-AppSync_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-B2B-Data-Interchange_64.png
        │   │       ├── Arch_AWS-B2B-Data-Interchange_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Express-Workflows_64.png
        │   │       ├── Arch_AWS-Express-Workflows_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Step-Functions_64.png
        │   │       ├── Arch_AWS-Step-Functions_64.svg
        │   │       └── [email protected]
        │   ├── artificial-intelligence
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Augmented-AI-A2I_16.png
        │   │   │   ├── Arch_Amazon-Augmented-AI-A2I_16.svg
        │   │   │   ├── Arch_Amazon-Bedrock_16.png
        │   │   │   ├── Arch_Amazon-Bedrock_16.svg
        │   │   │   ├── Arch_Amazon-CodeGuru_16.png
        │   │   │   ├── Arch_Amazon-CodeGuru_16.svg
        │   │   │   ├── Arch_Amazon-CodeWhisperer_16.png
        │   │   │   ├── Arch_Amazon-CodeWhisperer_16.svg
        │   │   │   ├── Arch_Amazon-Comprehend_16.png
        │   │   │   ├── Arch_Amazon-Comprehend_16.svg
        │   │   │   ├── Arch_Amazon-Comprehend-Medical_16.png
        │   │   │   ├── Arch_Amazon-Comprehend-Medical_16.svg
        │   │   │   ├── Arch_Amazon-DevOps-Guru_16.png
        │   │   │   ├── Arch_Amazon-DevOps-Guru_16.svg
        │   │   │   ├── Arch_Amazon-Elastic-Inference_16.png
        │   │   │   ├── Arch_Amazon-Elastic-Inference_16.svg
        │   │   │   ├── Arch_Amazon-Forecast_16.png
        │   │   │   ├── Arch_Amazon-Forecast_16.svg
        │   │   │   ├── Arch_Amazon-Fraud-Detector_16.png
        │   │   │   ├── Arch_Amazon-Fraud-Detector_16.svg
        │   │   │   ├── Arch_Amazon-Kendra_16.png
        │   │   │   ├── Arch_Amazon-Kendra_16.svg
        │   │   │   ├── Arch_Amazon-Lex_16.png
        │   │   │   ├── Arch_Amazon-Lex_16.svg
        │   │   │   ├── Arch_Amazon-Lookout-for-Equipment_16.png
        │   │   │   ├── Arch_Amazon-Lookout-for-Equipment_16.svg
        │   │   │   ├── Arch_Amazon-Lookout-for-Metrics_16.png
        │   │   │   ├── Arch_Amazon-Lookout-for-Metrics_16.svg
        │   │   │   ├── Arch_Amazon-Lookout-for-Vision_16.png
        │   │   │   ├── Arch_Amazon-Lookout-for-Vision_16.svg
        │   │   │   ├── Arch_Amazon-Monitron_16.png
        │   │   │   ├── Arch_Amazon-Monitron_16.svg
        │   │   │   ├── Arch_Amazon-Nova_16.png
        │   │   │   ├── Arch_Amazon-Nova_16.svg
        │   │   │   ├── Arch_Amazon-Personalize_16.png
        │   │   │   ├── Arch_Amazon-Personalize_16.svg
        │   │   │   ├── Arch_Amazon-Polly_16.png
        │   │   │   ├── Arch_Amazon-Polly_16.svg
        │   │   │   ├── Arch_Amazon-Q_16.png
        │   │   │   ├── Arch_Amazon-Q_16.svg
        │   │   │   ├── Arch_Amazon-Rekognition_16.png
        │   │   │   ├── Arch_Amazon-Rekognition_16.svg
        │   │   │   ├── Arch_Amazon-SageMaker-AI_16.png
        │   │   │   ├── Arch_Amazon-SageMaker-AI_16.svg
        │   │   │   ├── Arch_Amazon-SageMaker-Ground-Truth_16.png
        │   │   │   ├── Arch_Amazon-SageMaker-Ground-Truth_16.svg
        │   │   │   ├── Arch_Amazon-SageMaker-Studio-Lab_16.png
        │   │   │   ├── Arch_Amazon-SageMaker-Studio-Lab_16.svg
        │   │   │   ├── Arch_Amazon-Textract_16.png
        │   │   │   ├── Arch_Amazon-Textract_16.svg
        │   │   │   ├── Arch_Amazon-Transcribe_16.png
        │   │   │   ├── Arch_Amazon-Transcribe_16.svg
        │   │   │   ├── Arch_Amazon-Translate_16.png
        │   │   │   ├── Arch_Amazon-Translate_16.svg
        │   │   │   ├── Arch_Apache-MXNet-on-AWS_16.png
        │   │   │   ├── Arch_Apache-MXNet-on-AWS_16.svg
        │   │   │   ├── Arch_AWS-App-Studio_16.png
        │   │   │   ├── Arch_AWS-App-Studio_16.svg
        │   │   │   ├── Arch_AWS-Deep-Learning-AMIs_16.png
        │   │   │   ├── Arch_AWS-Deep-Learning-AMIs_16.svg
        │   │   │   ├── Arch_AWS-Deep-Learning-Containers_16.png
        │   │   │   ├── Arch_AWS-Deep-Learning-Containers_16.svg
        │   │   │   ├── Arch_AWS-DeepComposer_16.png
        │   │   │   ├── Arch_AWS-DeepComposer_16.svg
        │   │   │   ├── Arch_AWS-DeepRacer_16.png
        │   │   │   ├── Arch_AWS-DeepRacer_16.svg
        │   │   │   ├── Arch_AWS-HealthImaging_16.png
        │   │   │   ├── Arch_AWS-HealthImaging_16.svg
        │   │   │   ├── Arch_AWS-HealthLake_16.png
        │   │   │   ├── Arch_AWS-HealthLake_16.svg
        │   │   │   ├── Arch_AWS-HealthOmics_16.png
        │   │   │   ├── Arch_AWS-HealthOmics_16.svg
        │   │   │   ├── Arch_AWS-HealthScribe_16.png
        │   │   │   ├── Arch_AWS-HealthScribe_16.svg
        │   │   │   ├── Arch_AWS-Neuron_16.png
        │   │   │   ├── Arch_AWS-Neuron_16.svg
        │   │   │   ├── Arch_AWS-Panorama_16.png
        │   │   │   ├── Arch_AWS-Panorama_16.svg
        │   │   │   ├── Arch_PyTorch-on-AWS_16.png
        │   │   │   ├── Arch_PyTorch-on-AWS_16.svg
        │   │   │   ├── Arch_TensorFlow-on-AWS_16.png
        │   │   │   └── Arch_TensorFlow-on-AWS_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Augmented-AI-A2I_32.png
        │   │   │   ├── Arch_Amazon-Augmented-AI-A2I_32.svg
        │   │   │   ├── Arch_Amazon-Bedrock_32.png
        │   │   │   ├── Arch_Amazon-Bedrock_32.svg
        │   │   │   ├── Arch_Amazon-CodeGuru_32.png
        │   │   │   ├── Arch_Amazon-CodeGuru_32.svg
        │   │   │   ├── Arch_Amazon-CodeWhisperer_32.png
        │   │   │   ├── Arch_Amazon-CodeWhisperer_32.svg
        │   │   │   ├── Arch_Amazon-Comprehend_32.png
        │   │   │   ├── Arch_Amazon-Comprehend_32.svg
        │   │   │   ├── Arch_Amazon-Comprehend-Medical_32.png
        │   │   │   ├── Arch_Amazon-Comprehend-Medical_32.svg
        │   │   │   ├── Arch_Amazon-DevOps-Guru_32.png
        │   │   │   ├── Arch_Amazon-DevOps-Guru_32.svg
        │   │   │   ├── Arch_Amazon-Elastic-Inference_32.png
        │   │   │   ├── Arch_Amazon-Elastic-Inference_32.svg
        │   │   │   ├── Arch_Amazon-Forecast_32.png
        │   │   │   ├── Arch_Amazon-Forecast_32.svg
        │   │   │   ├── Arch_Amazon-Fraud-Detector_32.png
        │   │   │   ├── Arch_Amazon-Fraud-Detector_32.svg
        │   │   │   ├── Arch_Amazon-Kendra_32.png
        │   │   │   ├── Arch_Amazon-Kendra_32.svg
        │   │   │   ├── Arch_Amazon-Lex_32.png
        │   │   │   ├── Arch_Amazon-Lex_32.svg
        │   │   │   ├── Arch_Amazon-Lookout-for-Equipment_32.png
        │   │   │   ├── Arch_Amazon-Lookout-for-Equipment_32.svg
        │   │   │   ├── Arch_Amazon-Lookout-for-Metrics_32.png
        │   │   │   ├── Arch_Amazon-Lookout-for-Metrics_32.svg
        │   │   │   ├── Arch_Amazon-Lookout-for-Vision_32.png
        │   │   │   ├── Arch_Amazon-Lookout-for-Vision_32.svg
        │   │   │   ├── Arch_Amazon-Monitron_32.png
        │   │   │   ├── Arch_Amazon-Monitron_32.svg
        │   │   │   ├── Arch_Amazon-Nova_32.png
        │   │   │   ├── Arch_Amazon-Nova_32.svg
        │   │   │   ├── Arch_Amazon-Personalize_32.png
        │   │   │   ├── Arch_Amazon-Personalize_32.svg
        │   │   │   ├── Arch_Amazon-Polly_32.png
        │   │   │   ├── Arch_Amazon-Polly_32.svg
        │   │   │   ├── Arch_Amazon-Q_32.png
        │   │   │   ├── Arch_Amazon-Q_32.svg
        │   │   │   ├── Arch_Amazon-Rekognition_32.png
        │   │   │   ├── Arch_Amazon-Rekognition_32.svg
        │   │   │   ├── Arch_Amazon-SageMaker-AI_32.png
        │   │   │   ├── Arch_Amazon-SageMaker-AI_32.svg
        │   │   │   ├── Arch_Amazon-SageMaker-Ground-Truth_32.png
        │   │   │   ├── Arch_Amazon-SageMaker-Ground-Truth_32.svg
        │   │   │   ├── Arch_Amazon-SageMaker-Studio-Lab_32.png
        │   │   │   ├── Arch_Amazon-SageMaker-Studio-Lab_32.svg
        │   │   │   ├── Arch_Amazon-Textract_32.png
        │   │   │   ├── Arch_Amazon-Textract_32.svg
        │   │   │   ├── Arch_Amazon-Transcribe_32.png
        │   │   │   ├── Arch_Amazon-Transcribe_32.svg
        │   │   │   ├── Arch_Amazon-Translate_32.png
        │   │   │   ├── Arch_Amazon-Translate_32.svg
        │   │   │   ├── Arch_Apache-MXNet-on-AWS_32.png
        │   │   │   ├── Arch_Apache-MXNet-on-AWS_32.svg
        │   │   │   ├── Arch_AWS-App-Studio_32.png
        │   │   │   ├── Arch_AWS-App-Studio_32.svg
        │   │   │   ├── Arch_AWS-Deep-Learning-AMIs_32.png
        │   │   │   ├── Arch_AWS-Deep-Learning-AMIs_32.svg
        │   │   │   ├── Arch_AWS-Deep-Learning-Containers_32.png
        │   │   │   ├── Arch_AWS-Deep-Learning-Containers_32.svg
        │   │   │   ├── Arch_AWS-DeepComposer_32.png
        │   │   │   ├── Arch_AWS-DeepComposer_32.svg
        │   │   │   ├── Arch_AWS-DeepRacer_32.png
        │   │   │   ├── Arch_AWS-DeepRacer_32.svg
        │   │   │   ├── Arch_AWS-HealthImaging_32.png
        │   │   │   ├── Arch_AWS-HealthImaging_32.svg
        │   │   │   ├── Arch_AWS-HealthLake_32.png
        │   │   │   ├── Arch_AWS-HealthLake_32.svg
        │   │   │   ├── Arch_AWS-HealthOmics_32.png
        │   │   │   ├── Arch_AWS-HealthOmics_32.svg
        │   │   │   ├── Arch_AWS-HealthScribe_32.png
        │   │   │   ├── Arch_AWS-HealthScribe_32.svg
        │   │   │   ├── Arch_AWS-Neuron_32.png
        │   │   │   ├── Arch_AWS-Neuron_32.svg
        │   │   │   ├── Arch_AWS-Panorama_32.png
        │   │   │   ├── Arch_AWS-Panorama_32.svg
        │   │   │   ├── Arch_PyTorch-on-AWS_32.png
        │   │   │   ├── Arch_PyTorch-on-AWS_32.svg
        │   │   │   ├── Arch_TensorFlow-on-AWS_32.png
        │   │   │   └── Arch_TensorFlow-on-AWS_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Augmented-AI-A2I_48.png
        │   │   │   ├── Arch_Amazon-Augmented-AI-A2I_48.svg
        │   │   │   ├── Arch_Amazon-Bedrock_48.png
        │   │   │   ├── Arch_Amazon-Bedrock_48.svg
        │   │   │   ├── Arch_Amazon-CodeGuru_48.png
        │   │   │   ├── Arch_Amazon-CodeGuru_48.svg
        │   │   │   ├── Arch_Amazon-CodeWhisperer_48.png
        │   │   │   ├── Arch_Amazon-CodeWhisperer_48.svg
        │   │   │   ├── Arch_Amazon-Comprehend_48.png
        │   │   │   ├── Arch_Amazon-Comprehend_48.svg
        │   │   │   ├── Arch_Amazon-Comprehend-Medical_48.png
        │   │   │   ├── Arch_Amazon-Comprehend-Medical_48.svg
        │   │   │   ├── Arch_Amazon-DevOps-Guru_48.png
        │   │   │   ├── Arch_Amazon-DevOps-Guru_48.svg
        │   │   │   ├── Arch_Amazon-Elastic-Inference_48.png
        │   │   │   ├── Arch_Amazon-Elastic-Inference_48.svg
        │   │   │   ├── Arch_Amazon-Forecast_48.png
        │   │   │   ├── Arch_Amazon-Forecast_48.svg
        │   │   │   ├── Arch_Amazon-Fraud-Detector_48.png
        │   │   │   ├── Arch_Amazon-Fraud-Detector_48.svg
        │   │   │   ├── Arch_Amazon-Kendra_48.png
        │   │   │   ├── Arch_Amazon-Kendra_48.svg
        │   │   │   ├── Arch_Amazon-Lex_48.png
        │   │   │   ├── Arch_Amazon-Lex_48.svg
        │   │   │   ├── Arch_Amazon-Lookout-for-Equipment_48.png
        │   │   │   ├── Arch_Amazon-Lookout-for-Equipment_48.svg
        │   │   │   ├── Arch_Amazon-Lookout-for-Metrics_48.png
        │   │   │   ├── Arch_Amazon-Lookout-for-Metrics_48.svg
        │   │   │   ├── Arch_Amazon-Lookout-for-Vision_48.png
        │   │   │   ├── Arch_Amazon-Lookout-for-Vision_48.svg
        │   │   │   ├── Arch_Amazon-Monitron_48.png
        │   │   │   ├── Arch_Amazon-Monitron_48.svg
        │   │   │   ├── Arch_Amazon-Nova_48.png
        │   │   │   ├── Arch_Amazon-Nova_48.svg
        │   │   │   ├── Arch_Amazon-Personalize_48.png
        │   │   │   ├── Arch_Amazon-Personalize_48.svg
        │   │   │   ├── Arch_Amazon-Polly_48.png
        │   │   │   ├── Arch_Amazon-Polly_48.svg
        │   │   │   ├── Arch_Amazon-Q_48.png
        │   │   │   ├── Arch_Amazon-Q_48.svg
        │   │   │   ├── Arch_Amazon-Rekognition_48.png
        │   │   │   ├── Arch_Amazon-Rekognition_48.svg
        │   │   │   ├── Arch_Amazon-SageMaker-AI_48.png
        │   │   │   ├── Arch_Amazon-SageMaker-AI_48.svg
        │   │   │   ├── Arch_Amazon-SageMaker-Ground-Truth_48.png
        │   │   │   ├── Arch_Amazon-SageMaker-Ground-Truth_48.svg
        │   │   │   ├── Arch_Amazon-SageMaker-Studio-Lab_48.png
        │   │   │   ├── Arch_Amazon-SageMaker-Studio-Lab_48.svg
        │   │   │   ├── Arch_Amazon-Textract_48.png
        │   │   │   ├── Arch_Amazon-Textract_48.svg
        │   │   │   ├── Arch_Amazon-Transcribe_48.png
        │   │   │   ├── Arch_Amazon-Transcribe_48.svg
        │   │   │   ├── Arch_Amazon-Translate_48.png
        │   │   │   ├── Arch_Amazon-Translate_48.svg
        │   │   │   ├── Arch_Apache-MXNet-on-AWS_48.png
        │   │   │   ├── Arch_Apache-MXNet-on-AWS_48.svg
        │   │   │   ├── Arch_AWS-App-Studio_48.png
        │   │   │   ├── Arch_AWS-App-Studio_48.svg
        │   │   │   ├── Arch_AWS-Deep-Learning-AMIs_48.png
        │   │   │   ├── Arch_AWS-Deep-Learning-AMIs_48.svg
        │   │   │   ├── Arch_AWS-Deep-Learning-Containers_48.png
        │   │   │   ├── Arch_AWS-Deep-Learning-Containers_48.svg
        │   │   │   ├── Arch_AWS-DeepComposer_48.png
        │   │   │   ├── Arch_AWS-DeepComposer_48.svg
        │   │   │   ├── Arch_AWS-DeepRacer_48.png
        │   │   │   ├── Arch_AWS-DeepRacer_48.svg
        │   │   │   ├── Arch_AWS-HealthImaging_48.png
        │   │   │   ├── Arch_AWS-HealthImaging_48.svg
        │   │   │   ├── Arch_AWS-HealthLake_48.png
        │   │   │   ├── Arch_AWS-HealthLake_48.svg
        │   │   │   ├── Arch_AWS-HealthOmics_48.png
        │   │   │   ├── Arch_AWS-HealthOmics_48.svg
        │   │   │   ├── Arch_AWS-HealthScribe_48.png
        │   │   │   ├── Arch_AWS-HealthScribe_48.svg
        │   │   │   ├── Arch_AWS-Neuron_48.png
        │   │   │   ├── Arch_AWS-Neuron_48.svg
        │   │   │   ├── Arch_AWS-Panorama_48.png
        │   │   │   ├── Arch_AWS-Panorama_48.svg
        │   │   │   ├── Arch_PyTorch-on-AWS_48.png
        │   │   │   ├── Arch_PyTorch-on-AWS_48.svg
        │   │   │   ├── Arch_TensorFlow-on-AWS_48.png
        │   │   │   └── Arch_TensorFlow-on-AWS_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-Augmented-AI-A2I_64.png
        │   │       ├── Arch_Amazon-Augmented-AI-A2I_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Bedrock_64.png
        │   │       ├── Arch_Amazon-Bedrock_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-CodeGuru_64.png
        │   │       ├── Arch_Amazon-CodeGuru_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-CodeWhisperer_64.png
        │   │       ├── Arch_Amazon-CodeWhisperer_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Comprehend_64.png
        │   │       ├── Arch_Amazon-Comprehend_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Comprehend-Medical_64.png
        │   │       ├── Arch_Amazon-Comprehend-Medical_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-DevOps-Guru_64.png
        │   │       ├── Arch_Amazon-DevOps-Guru_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Elastic-Inference_64.png
        │   │       ├── Arch_Amazon-Elastic-Inference_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Forecast_64.png
        │   │       ├── Arch_Amazon-Forecast_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Fraud-Detector_64.png
        │   │       ├── Arch_Amazon-Fraud-Detector_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Kendra_64.png
        │   │       ├── Arch_Amazon-Kendra_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Lex_64.png
        │   │       ├── Arch_Amazon-Lex_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Lookout-for-Equipment_64.png
        │   │       ├── Arch_Amazon-Lookout-for-Equipment_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Lookout-for-Metrics_64.png
        │   │       ├── Arch_Amazon-Lookout-for-Metrics_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Lookout-for-Vision_64.png
        │   │       ├── Arch_Amazon-Lookout-for-Vision_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Monitron_64.png
        │   │       ├── Arch_Amazon-Monitron_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Nova_64.png
        │   │       ├── Arch_Amazon-Nova_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Personalize_64.png
        │   │       ├── Arch_Amazon-Personalize_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Polly_64.png
        │   │       ├── Arch_Amazon-Polly_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Q_64.png
        │   │       ├── Arch_Amazon-Q_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Rekognition_64.png
        │   │       ├── Arch_Amazon-Rekognition_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-SageMaker-AI_64.png
        │   │       ├── Arch_Amazon-SageMaker-AI_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-SageMaker-Ground-Truth_64.png
        │   │       ├── Arch_Amazon-SageMaker-Ground-Truth_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-SageMaker-Studio-Lab_64.png
        │   │       ├── Arch_Amazon-SageMaker-Studio-Lab_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Textract_64.png
        │   │       ├── Arch_Amazon-Textract_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Transcribe_64.png
        │   │       ├── Arch_Amazon-Transcribe_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Translate_64.png
        │   │       ├── Arch_Amazon-Translate_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Apache-MXNet-on-AWS_64.png
        │   │       ├── Arch_Apache-MXNet-on-AWS_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-App-Studio_64.png
        │   │       ├── Arch_AWS-App-Studio_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Deep-Learning-AMIs_64.png
        │   │       ├── Arch_AWS-Deep-Learning-AMIs_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Deep-Learning-Containers_64.png
        │   │       ├── Arch_AWS-Deep-Learning-Containers_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-DeepComposer_64.png
        │   │       ├── Arch_AWS-DeepComposer_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-DeepRacer_64.png
        │   │       ├── Arch_AWS-DeepRacer_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-HealthImaging_64.png
        │   │       ├── Arch_AWS-HealthImaging_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-HealthLake_64.png
        │   │       ├── Arch_AWS-HealthLake_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-HealthOmics_64.png
        │   │       ├── Arch_AWS-HealthOmics_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-HealthScribe_64.png
        │   │       ├── Arch_AWS-HealthScribe_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Neuron_64.png
        │   │       ├── Arch_AWS-Neuron_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Panorama_64.png
        │   │       ├── Arch_AWS-Panorama_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_PyTorch-on-AWS_64.png
        │   │       ├── Arch_PyTorch-on-AWS_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_TensorFlow-on-AWS_64.png
        │   │       ├── Arch_TensorFlow-on-AWS_64.svg
        │   │       └── [email protected]
        │   ├── blockchain
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── Arch_Amazon-Managed-Blockchain_16.png
        │   │   │   ├── Arch_Amazon-Managed-Blockchain_16.svg
        │   │   │   ├── Arch_Amazon-Quantum-Ledger-Database_16.png
        │   │   │   └── Arch_Amazon-Quantum-Ledger-Database_16.svg
        │   │   ├── 32
        │   │   │   ├── Arch_Amazon-Managed-Blockchain_32.png
        │   │   │   ├── Arch_Amazon-Managed-Blockchain_32.svg
        │   │   │   ├── Arch_Amazon-Quantum-Ledger-Database_32.png
        │   │   │   └── Arch_Amazon-Quantum-Ledger-Database_32.svg
        │   │   ├── 48
        │   │   │   ├── Arch_Amazon-Managed-Blockchain_48.png
        │   │   │   ├── Arch_Amazon-Managed-Blockchain_48.svg
        │   │   │   ├── Arch_Amazon-Quantum-Ledger-Database_48.png
        │   │   │   └── Arch_Amazon-Quantum-Ledger-Database_48.svg
        │   │   └── 64
        │   │       ├── Arch_Amazon-Managed-Blockchain_64.png
        │   │       ├── Arch_Amazon-Managed-Blockchain_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Quantum-Ledger-Database_64.png
        │   │       ├── Arch_Amazon-Quantum-Ledger-Database_64.svg
        │   │       └── [email protected]
        │   ├── business-applications
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Alexa-For-Business_16.png
        │   │   │   ├── Arch_Alexa-For-Business_16.svg
        │   │   │   ├── Arch_Amazon-Chime_16.png
        │   │   │   ├── Arch_Amazon-Chime_16.svg
        │   │   │   ├── Arch_Amazon-Chime-SDK_16.png
        │   │   │   ├── Arch_Amazon-Chime-SDK_16.svg
        │   │   │   ├── Arch_Amazon-Connect_16.png
        │   │   │   ├── Arch_Amazon-Connect_16.svg
        │   │   │   ├── Arch_Amazon-Pinpoint_16.png
        │   │   │   ├── Arch_Amazon-Pinpoint_16.svg
        │   │   │   ├── Arch_Amazon-Pinpoint-APIs_16.png
        │   │   │   ├── Arch_Amazon-Pinpoint-APIs_16.svg
        │   │   │   ├── Arch_Amazon-Simple-Email-Service_16.png
        │   │   │   ├── Arch_Amazon-Simple-Email-Service_16.svg
        │   │   │   ├── Arch_Amazon-WorkDocs_16.png
        │   │   │   ├── Arch_Amazon-WorkDocs_16.svg
        │   │   │   ├── Arch_Amazon-WorkDocs-SDK_16.png
        │   │   │   ├── Arch_Amazon-WorkDocs-SDK_16.svg
        │   │   │   ├── Arch_Amazon-WorkMail_16.png
        │   │   │   ├── Arch_Amazon-WorkMail_16.svg
        │   │   │   ├── Arch_AWS-AppFabric_16.png
        │   │   │   ├── Arch_AWS-AppFabric_16.svg
        │   │   │   ├── Arch_AWS-End-User-Messaging_16.png
        │   │   │   ├── Arch_AWS-End-User-Messaging_16.svg
        │   │   │   ├── Arch_AWS-Supply-Chain_16.png
        │   │   │   ├── Arch_AWS-Supply-Chain_16.svg
        │   │   │   ├── Arch_AWS-Wickr_16.png
        │   │   │   └── Arch_AWS-Wickr_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Alexa-For-Business_32.png
        │   │   │   ├── Arch_Alexa-For-Business_32.svg
        │   │   │   ├── Arch_Amazon-Chime_32.png
        │   │   │   ├── Arch_Amazon-Chime_32.svg
        │   │   │   ├── Arch_Amazon-Chime-SDK_32.png
        │   │   │   ├── Arch_Amazon-Chime-SDK_32.svg
        │   │   │   ├── Arch_Amazon-Connect_32.png
        │   │   │   ├── Arch_Amazon-Connect_32.svg
        │   │   │   ├── Arch_Amazon-Pinpoint_32.png
        │   │   │   ├── Arch_Amazon-Pinpoint_32.svg
        │   │   │   ├── Arch_Amazon-Pinpoint-APIs_32.png
        │   │   │   ├── Arch_Amazon-Pinpoint-APIs_32.svg
        │   │   │   ├── Arch_Amazon-Simple-Email-Service_32.png
        │   │   │   ├── Arch_Amazon-Simple-Email-Service_32.svg
        │   │   │   ├── Arch_Amazon-WorkDocs_32.png
        │   │   │   ├── Arch_Amazon-WorkDocs_32.svg
        │   │   │   ├── Arch_Amazon-WorkDocs-SDK_32.png
        │   │   │   ├── Arch_Amazon-WorkDocs-SDK_32.svg
        │   │   │   ├── Arch_Amazon-WorkMail_32.png
        │   │   │   ├── Arch_Amazon-WorkMail_32.svg
        │   │   │   ├── Arch_AWS-AppFabric_32.png
        │   │   │   ├── Arch_AWS-AppFabric_32.svg
        │   │   │   ├── Arch_AWS-End-User-Messaging_32.png
        │   │   │   ├── Arch_AWS-End-User-Messaging_32.svg
        │   │   │   ├── Arch_AWS-Supply-Chain_32.png
        │   │   │   ├── Arch_AWS-Supply-Chain_32.svg
        │   │   │   ├── Arch_AWS-Wickr_32.png
        │   │   │   └── Arch_AWS-Wickr_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Alexa-For-Business_48.png
        │   │   │   ├── Arch_Alexa-For-Business_48.svg
        │   │   │   ├── Arch_Amazon-Chime_48.png
        │   │   │   ├── Arch_Amazon-Chime_48.svg
        │   │   │   ├── Arch_Amazon-Chime-SDK_48.png
        │   │   │   ├── Arch_Amazon-Chime-SDK_48.svg
        │   │   │   ├── Arch_Amazon-Connect_48.png
        │   │   │   ├── Arch_Amazon-Connect_48.svg
        │   │   │   ├── Arch_Amazon-Pinpoint_48.png
        │   │   │   ├── Arch_Amazon-Pinpoint_48.svg
        │   │   │   ├── Arch_Amazon-Pinpoint-APIs_48.png
        │   │   │   ├── Arch_Amazon-Pinpoint-APIs_48.svg
        │   │   │   ├── Arch_Amazon-Simple-Email-Service_48.png
        │   │   │   ├── Arch_Amazon-Simple-Email-Service_48.svg
        │   │   │   ├── Arch_Amazon-WorkDocs_48.png
        │   │   │   ├── Arch_Amazon-WorkDocs_48.svg
        │   │   │   ├── Arch_Amazon-WorkDocs-SDK_48.png
        │   │   │   ├── Arch_Amazon-WorkDocs-SDK_48.svg
        │   │   │   ├── Arch_Amazon-WorkMail_48.png
        │   │   │   ├── Arch_Amazon-WorkMail_48.svg
        │   │   │   ├── Arch_AWS-AppFabric_48.png
        │   │   │   ├── Arch_AWS-AppFabric_48.svg
        │   │   │   ├── Arch_AWS-End-User-Messaging_48.png
        │   │   │   ├── Arch_AWS-End-User-Messaging_48.svg
        │   │   │   ├── Arch_AWS-Supply-Chain_48.png
        │   │   │   ├── Arch_AWS-Supply-Chain_48.svg
        │   │   │   ├── Arch_AWS-Wickr_48.png
        │   │   │   └── Arch_AWS-Wickr_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Alexa-For-Business_64.png
        │   │       ├── Arch_Alexa-For-Business_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Chime_64.png
        │   │       ├── Arch_Amazon-Chime_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Chime-SDK_64.png
        │   │       ├── Arch_Amazon-Chime-SDK_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Connect_64.png
        │   │       ├── Arch_Amazon-Connect_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Pinpoint_64.png
        │   │       ├── Arch_Amazon-Pinpoint_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Pinpoint-APIs_64.png
        │   │       ├── Arch_Amazon-Pinpoint-APIs_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Simple-Email-Service_64.png
        │   │       ├── Arch_Amazon-Simple-Email-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-WorkDocs_64.png
        │   │       ├── Arch_Amazon-WorkDocs_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-WorkDocs-SDK_64.png
        │   │       ├── Arch_Amazon-WorkDocs-SDK_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-WorkMail_64.png
        │   │       ├── Arch_Amazon-WorkMail_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-AppFabric_64.png
        │   │       ├── Arch_AWS-AppFabric_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-End-User-Messaging_64.png
        │   │       ├── Arch_AWS-End-User-Messaging_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Supply-Chain_64.png
        │   │       ├── Arch_AWS-Supply-Chain_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Wickr_64.png
        │   │       ├── Arch_AWS-Wickr_64.svg
        │   │       └── [email protected]
        │   ├── cloud-financial
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_AWS-Billing-Conductor_16.png
        │   │   │   ├── Arch_AWS-Billing-Conductor_16.svg
        │   │   │   ├── Arch_AWS-Budgets_16.png
        │   │   │   ├── Arch_AWS-Budgets_16.svg
        │   │   │   ├── Arch_AWS-Cost-and-Usage-Report_16.png
        │   │   │   ├── Arch_AWS-Cost-and-Usage-Report_16.svg
        │   │   │   ├── Arch_AWS-Cost-Explorer_16.png
        │   │   │   ├── Arch_AWS-Cost-Explorer_16.svg
        │   │   │   ├── Arch_Reserved-Instance-Reporting_16.png
        │   │   │   ├── Arch_Reserved-Instance-Reporting_16.svg
        │   │   │   ├── Arch_Savings-Plans_16.png
        │   │   │   └── Arch_Savings-Plans_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_AWS-Billing-Conductor_32.png
        │   │   │   ├── Arch_AWS-Billing-Conductor_32.svg
        │   │   │   ├── Arch_AWS-Budgets_32.png
        │   │   │   ├── Arch_AWS-Budgets_32.svg
        │   │   │   ├── Arch_AWS-Cost-and-Usage-Report_32.png
        │   │   │   ├── Arch_AWS-Cost-and-Usage-Report_32.svg
        │   │   │   ├── Arch_AWS-Cost-Explorer_32.png
        │   │   │   ├── Arch_AWS-Cost-Explorer_32.svg
        │   │   │   ├── Arch_Reserved-Instance-Reporting_32.png
        │   │   │   ├── Arch_Reserved-Instance-Reporting_32.svg
        │   │   │   ├── Arch_Savings-Plans_32.png
        │   │   │   └── Arch_Savings-Plans_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_AWS-Billing-Conductor_48.png
        │   │   │   ├── Arch_AWS-Billing-Conductor_48.svg
        │   │   │   ├── Arch_AWS-Budgets_48.png
        │   │   │   ├── Arch_AWS-Budgets_48.svg
        │   │   │   ├── Arch_AWS-Cost-and-Usage-Report_48.png
        │   │   │   ├── Arch_AWS-Cost-and-Usage-Report_48.svg
        │   │   │   ├── Arch_AWS-Cost-Explorer_48.png
        │   │   │   ├── Arch_AWS-Cost-Explorer_48.svg
        │   │   │   ├── Arch_Reserved-Instance-Reporting_48.png
        │   │   │   ├── Arch_Reserved-Instance-Reporting_48.svg
        │   │   │   ├── Arch_Savings-Plans_48.png
        │   │   │   └── Arch_Savings-Plans_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_AWS-Billing-Conductor_64.png
        │   │       ├── Arch_AWS-Billing-Conductor_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Budgets_64.png
        │   │       ├── Arch_AWS-Budgets_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Cost-and-Usage-Report_64.png
        │   │       ├── Arch_AWS-Cost-and-Usage-Report_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Cost-Explorer_64.png
        │   │       ├── Arch_AWS-Cost-Explorer_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Reserved-Instance-Reporting_64.png
        │   │       ├── Arch_Reserved-Instance-Reporting_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Savings-Plans_64.png
        │   │       ├── Arch_Savings-Plans_64.svg
        │   │       └── [email protected]
        │   ├── compute
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-DCV_16.png
        │   │   │   ├── Arch_Amazon-DCV_16.svg
        │   │   │   ├── Arch_Amazon-EC2_16.png
        │   │   │   ├── Arch_Amazon-EC2_16.svg
        │   │   │   ├── Arch_Amazon-EC2-Auto-Scaling_16.png
        │   │   │   ├── Arch_Amazon-EC2-Auto-Scaling_16.svg
        │   │   │   ├── Arch_Amazon-EC2-Image-Builder_16.png
        │   │   │   ├── Arch_Amazon-EC2-Image-Builder_16.svg
        │   │   │   ├── Arch_Amazon-Elastic-VMware-Service_16.png
        │   │   │   ├── Arch_Amazon-Elastic-VMware-Service_16.svg
        │   │   │   ├── Arch_Amazon-Lightsail_16.png
        │   │   │   ├── Arch_Amazon-Lightsail_16.svg
        │   │   │   ├── Arch_Amazon-Lightsail-for-Research_16.png
        │   │   │   ├── Arch_Amazon-Lightsail-for-Research_16.svg
        │   │   │   ├── Arch_AWS-App-Runner_16.png
        │   │   │   ├── Arch_AWS-App-Runner_16.svg
        │   │   │   ├── Arch_AWS-Batch_16.png
        │   │   │   ├── Arch_AWS-Batch_16.svg
        │   │   │   ├── Arch_AWS-Compute-Optimizer_16.png
        │   │   │   ├── Arch_AWS-Compute-Optimizer_16.svg
        │   │   │   ├── Arch_AWS-Elastic-Beanstalk_16.png
        │   │   │   ├── Arch_AWS-Elastic-Beanstalk_16.svg
        │   │   │   ├── Arch_AWS-Lambda_16.png
        │   │   │   ├── Arch_AWS-Lambda_16.svg
        │   │   │   ├── Arch_AWS-Local-Zones_16.png
        │   │   │   ├── Arch_AWS-Local-Zones_16.svg
        │   │   │   ├── Arch_AWS-Nitro-Enclaves_16.png
        │   │   │   ├── Arch_AWS-Nitro-Enclaves_16.svg
        │   │   │   ├── Arch_AWS-Outposts-family_16.png
        │   │   │   ├── Arch_AWS-Outposts-family_16.svg
        │   │   │   ├── Arch_AWS-Outposts-rack_16.png
        │   │   │   ├── Arch_AWS-Outposts-rack_16.svg
        │   │   │   ├── Arch_AWS-Outposts-servers_16.png
        │   │   │   ├── Arch_AWS-Outposts-servers_16.svg
        │   │   │   ├── Arch_AWS-Parallel-Cluster_16.png
        │   │   │   ├── Arch_AWS-Parallel-Cluster_16.svg
        │   │   │   ├── Arch_AWS-Parallel-Computing-Service_16.png
        │   │   │   ├── Arch_AWS-Parallel-Computing-Service_16.svg
        │   │   │   ├── Arch_AWS-Serverless-Application-Repository_16.png
        │   │   │   ├── Arch_AWS-Serverless-Application-Repository_16.svg
        │   │   │   ├── Arch_AWS-SimSpace-Weaver_16.png
        │   │   │   ├── Arch_AWS-SimSpace-Weaver_16.svg
        │   │   │   ├── Arch_AWS-Wavelength_16.png
        │   │   │   ├── Arch_AWS-Wavelength_16.svg
        │   │   │   ├── Arch_Bottlerocket_16.png
        │   │   │   ├── Arch_Bottlerocket_16.svg
        │   │   │   ├── Arch_Elastic-Fabric-Adapter_16.png
        │   │   │   ├── Arch_Elastic-Fabric-Adapter_16.svg
        │   │   │   ├── Arch_NICE-EnginFrame_16.png
        │   │   │   └── Arch_NICE-EnginFrame_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-DCV_32.png
        │   │   │   ├── Arch_Amazon-DCV_32.svg
        │   │   │   ├── Arch_Amazon-EC2_32.png
        │   │   │   ├── Arch_Amazon-EC2_32.svg
        │   │   │   ├── Arch_Amazon-EC2-Auto-Scaling_32.png
        │   │   │   ├── Arch_Amazon-EC2-Auto-Scaling_32.svg
        │   │   │   ├── Arch_Amazon-EC2-Image-Builder_32.png
        │   │   │   ├── Arch_Amazon-EC2-Image-Builder_32.svg
        │   │   │   ├── Arch_Amazon-Elastic-VMware-Service_32.png
        │   │   │   ├── Arch_Amazon-Elastic-VMware-Service_32.svg
        │   │   │   ├── Arch_Amazon-Lightsail_32.png
        │   │   │   ├── Arch_Amazon-Lightsail_32.svg
        │   │   │   ├── Arch_Amazon-Lightsail-for-Research_32.png
        │   │   │   ├── Arch_Amazon-Lightsail-for-Research_32.svg
        │   │   │   ├── Arch_AWS-App-Runner_32.png
        │   │   │   ├── Arch_AWS-App-Runner_32.svg
        │   │   │   ├── Arch_AWS-Batch_32.png
        │   │   │   ├── Arch_AWS-Batch_32.svg
        │   │   │   ├── Arch_AWS-Compute-Optimizer_32.png
        │   │   │   ├── Arch_AWS-Compute-Optimizer_32.svg
        │   │   │   ├── Arch_AWS-Elastic-Beanstalk_32.png
        │   │   │   ├── Arch_AWS-Elastic-Beanstalk_32.svg
        │   │   │   ├── Arch_AWS-Lambda_32.png
        │   │   │   ├── Arch_AWS-Lambda_32.svg
        │   │   │   ├── Arch_AWS-Local-Zones_32.png
        │   │   │   ├── Arch_AWS-Local-Zones_32.svg
        │   │   │   ├── Arch_AWS-Nitro-Enclaves_32.png
        │   │   │   ├── Arch_AWS-Nitro-Enclaves_32.svg
        │   │   │   ├── Arch_AWS-Outposts-family_32.png
        │   │   │   ├── Arch_AWS-Outposts-family_32.svg
        │   │   │   ├── Arch_AWS-Outposts-rack_32.png
        │   │   │   ├── Arch_AWS-Outposts-rack_32.svg
        │   │   │   ├── Arch_AWS-Outposts-servers_32.png
        │   │   │   ├── Arch_AWS-Outposts-servers_32.svg
        │   │   │   ├── Arch_AWS-Parallel-Cluster_32.png
        │   │   │   ├── Arch_AWS-Parallel-Cluster_32.svg
        │   │   │   ├── Arch_AWS-Parallel-Computing-Service_32.png
        │   │   │   ├── Arch_AWS-Parallel-Computing-Service_32.svg
        │   │   │   ├── Arch_AWS-Serverless-Application-Repository_32.png
        │   │   │   ├── Arch_AWS-Serverless-Application-Repository_32.svg
        │   │   │   ├── Arch_AWS-SimSpace-Weaver_32.png
        │   │   │   ├── Arch_AWS-SimSpace-Weaver_32.svg
        │   │   │   ├── Arch_AWS-Wavelength_32.png
        │   │   │   ├── Arch_AWS-Wavelength_32.svg
        │   │   │   ├── Arch_Bottlerocket_32.png
        │   │   │   ├── Arch_Bottlerocket_32.svg
        │   │   │   ├── Arch_Elastic-Fabric-Adapter_32.png
        │   │   │   ├── Arch_Elastic-Fabric-Adapter_32.svg
        │   │   │   ├── Arch_NICE-EnginFrame_32.png
        │   │   │   └── Arch_NICE-EnginFrame_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-DCV_48.png
        │   │   │   ├── Arch_Amazon-DCV_48.svg
        │   │   │   ├── Arch_Amazon-EC2_48.png
        │   │   │   ├── Arch_Amazon-EC2_48.svg
        │   │   │   ├── Arch_Amazon-EC2-Auto-Scaling_48.png
        │   │   │   ├── Arch_Amazon-EC2-Auto-Scaling_48.svg
        │   │   │   ├── Arch_Amazon-EC2-Image-Builder_48.png
        │   │   │   ├── Arch_Amazon-EC2-Image-Builder_48.svg
        │   │   │   ├── Arch_Amazon-Elastic-VMware-Service_48.png
        │   │   │   ├── Arch_Amazon-Elastic-VMware-Service_48.svg
        │   │   │   ├── Arch_Amazon-Lightsail_48.png
        │   │   │   ├── Arch_Amazon-Lightsail_48.svg
        │   │   │   ├── Arch_Amazon-Lightsail-for-Research_48.png
        │   │   │   ├── Arch_Amazon-Lightsail-for-Research_48.svg
        │   │   │   ├── Arch_AWS-App-Runner_48.png
        │   │   │   ├── Arch_AWS-App-Runner_48.svg
        │   │   │   ├── Arch_AWS-Batch_48.png
        │   │   │   ├── Arch_AWS-Batch_48.svg
        │   │   │   ├── Arch_AWS-Compute-Optimizer_48.png
        │   │   │   ├── Arch_AWS-Compute-Optimizer_48.svg
        │   │   │   ├── Arch_AWS-Elastic-Beanstalk_48.png
        │   │   │   ├── Arch_AWS-Elastic-Beanstalk_48.svg
        │   │   │   ├── Arch_AWS-Lambda_48.png
        │   │   │   ├── Arch_AWS-Lambda_48.svg
        │   │   │   ├── Arch_AWS-Local-Zones_48.png
        │   │   │   ├── Arch_AWS-Local-Zones_48.svg
        │   │   │   ├── Arch_AWS-Nitro-Enclaves_48.png
        │   │   │   ├── Arch_AWS-Nitro-Enclaves_48.svg
        │   │   │   ├── Arch_AWS-Outposts-family_48.png
        │   │   │   ├── Arch_AWS-Outposts-family_48.svg
        │   │   │   ├── Arch_AWS-Outposts-rack_48.png
        │   │   │   ├── Arch_AWS-Outposts-rack_48.svg
        │   │   │   ├── Arch_AWS-Outposts-servers_48.png
        │   │   │   ├── Arch_AWS-Outposts-servers_48.svg
        │   │   │   ├── Arch_AWS-Parallel-Cluster_48.png
        │   │   │   ├── Arch_AWS-Parallel-Cluster_48.svg
        │   │   │   ├── Arch_AWS-Parallel-Computing-Service_48.png
        │   │   │   ├── Arch_AWS-Parallel-Computing-Service_48.svg
        │   │   │   ├── Arch_AWS-Serverless-Application-Repository_48.png
        │   │   │   ├── Arch_AWS-Serverless-Application-Repository_48.svg
        │   │   │   ├── Arch_AWS-SimSpace-Weaver_48.png
        │   │   │   ├── Arch_AWS-SimSpace-Weaver_48.svg
        │   │   │   ├── Arch_AWS-Wavelength_48.png
        │   │   │   ├── Arch_AWS-Wavelength_48.svg
        │   │   │   ├── Arch_Bottlerocket_48.png
        │   │   │   ├── Arch_Bottlerocket_48.svg
        │   │   │   ├── Arch_Elastic-Fabric-Adapter_48.png
        │   │   │   ├── Arch_Elastic-Fabric-Adapter_48.svg
        │   │   │   ├── Arch_NICE-EnginFrame_48.png
        │   │   │   └── Arch_NICE-EnginFrame_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-DCV_64.png
        │   │       ├── Arch_Amazon-DCV_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-EC2_64.png
        │   │       ├── Arch_Amazon-EC2_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-EC2-Auto-Scaling_64.png
        │   │       ├── Arch_Amazon-EC2-Auto-Scaling_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-EC2-Image-Builder_64.png
        │   │       ├── Arch_Amazon-EC2-Image-Builder_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Elastic-VMware-Service_64.png
        │   │       ├── Arch_Amazon-Elastic-VMware-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Lightsail_64.png
        │   │       ├── Arch_Amazon-Lightsail_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Lightsail-for-Research_64.png
        │   │       ├── Arch_Amazon-Lightsail-for-Research_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-App-Runner_64.png
        │   │       ├── Arch_AWS-App-Runner_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Batch_64.png
        │   │       ├── Arch_AWS-Batch_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Compute-Optimizer_64.png
        │   │       ├── Arch_AWS-Compute-Optimizer_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elastic-Beanstalk_64.png
        │   │       ├── Arch_AWS-Elastic-Beanstalk_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Lambda_64.png
        │   │       ├── Arch_AWS-Lambda_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Local-Zones_64.png
        │   │       ├── Arch_AWS-Local-Zones_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Nitro-Enclaves_64.png
        │   │       ├── Arch_AWS-Nitro-Enclaves_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Outposts-family_64.png
        │   │       ├── Arch_AWS-Outposts-family_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Outposts-rack_64.png
        │   │       ├── Arch_AWS-Outposts-rack_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Outposts-servers_64.png
        │   │       ├── Arch_AWS-Outposts-servers_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Parallel-Cluster_64.png
        │   │       ├── Arch_AWS-Parallel-Cluster_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Parallel-Computing-Service_64.png
        │   │       ├── Arch_AWS-Parallel-Computing-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Serverless-Application-Repository_64.png
        │   │       ├── Arch_AWS-Serverless-Application-Repository_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-SimSpace-Weaver_64.png
        │   │       ├── Arch_AWS-SimSpace-Weaver_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Wavelength_64.png
        │   │       ├── Arch_AWS-Wavelength_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Bottlerocket_64.png
        │   │       ├── Arch_Bottlerocket_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Elastic-Fabric-Adapter_64.png
        │   │       ├── Arch_Elastic-Fabric-Adapter_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_NICE-EnginFrame_64.png
        │   │       ├── Arch_NICE-EnginFrame_64.svg
        │   │       └── [email protected]
        │   ├── containers
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── Arch_Amazon-ECS-Anywhere_16.png
        │   │   │   ├── Arch_Amazon-ECS-Anywhere_16.svg
        │   │   │   ├── Arch_Amazon-EKS-Anywhere_16.png
        │   │   │   ├── Arch_Amazon-EKS-Anywhere_16.svg
        │   │   │   ├── Arch_Amazon-EKS-Cloud_16.png
        │   │   │   ├── Arch_Amazon-EKS-Cloud_16.svg
        │   │   │   ├── Arch_Amazon-EKS-Distro_16.png
        │   │   │   ├── Arch_Amazon-EKS-Distro_16.svg
        │   │   │   ├── Arch_Amazon-Elastic-Container-Registry_16.png
        │   │   │   ├── Arch_Amazon-Elastic-Container-Registry_16.svg
        │   │   │   ├── Arch_Amazon-Elastic-Container-Service_16.png
        │   │   │   ├── Arch_Amazon-Elastic-Container-Service_16.svg
        │   │   │   ├── Arch_Amazon-Elastic-Kubernetes-Service_16.png
        │   │   │   ├── Arch_Amazon-Elastic-Kubernetes-Service_16.svg
        │   │   │   ├── Arch_AWS-Fargate_16.png
        │   │   │   ├── Arch_AWS-Fargate_16.svg
        │   │   │   ├── Arch_Red-Hat-OpenShift-Service-on-AWS_16.png
        │   │   │   └── Arch_Red-Hat-OpenShift-Service-on-AWS_16.svg
        │   │   ├── 32
        │   │   │   ├── Arch_Amazon-ECS-Anywhere_32.png
        │   │   │   ├── Arch_Amazon-ECS-Anywhere_32.svg
        │   │   │   ├── Arch_Amazon-EKS-Anywhere_32.png
        │   │   │   ├── Arch_Amazon-EKS-Anywhere_32.svg
        │   │   │   ├── Arch_Amazon-EKS-Cloud_32.png
        │   │   │   ├── Arch_Amazon-EKS-Cloud_32.svg
        │   │   │   ├── Arch_Amazon-EKS-Distro_32.png
        │   │   │   ├── Arch_Amazon-EKS-Distro_32.svg
        │   │   │   ├── Arch_Amazon-Elastic-Container-Registry_32.png
        │   │   │   ├── Arch_Amazon-Elastic-Container-Registry_32.svg
        │   │   │   ├── Arch_Amazon-Elastic-Container-Service_32.png
        │   │   │   ├── Arch_Amazon-Elastic-Container-Service_32.svg
        │   │   │   ├── Arch_Amazon-Elastic-Kubernetes-Service_32.png
        │   │   │   ├── Arch_Amazon-Elastic-Kubernetes-Service_32.svg
        │   │   │   ├── Arch_AWS-Fargate_32.png
        │   │   │   ├── Arch_AWS-Fargate_32.svg
        │   │   │   ├── Arch_Red-Hat-OpenShift-Service-on-AWS_32.png
        │   │   │   └── Arch_Red-Hat-OpenShift-Service-on-AWS_32.svg
        │   │   ├── 48
        │   │   │   ├── Arch_Amazon-ECS-Anywhere_48.png
        │   │   │   ├── Arch_Amazon-ECS-Anywhere_48.svg
        │   │   │   ├── Arch_Amazon-EKS-Anywhere_48.png
        │   │   │   ├── Arch_Amazon-EKS-Anywhere_48.svg
        │   │   │   ├── Arch_Amazon-EKS-Cloud_48.png
        │   │   │   ├── Arch_Amazon-EKS-Cloud_48.svg
        │   │   │   ├── Arch_Amazon-EKS-Distro_48.png
        │   │   │   ├── Arch_Amazon-EKS-Distro_48.svg
        │   │   │   ├── Arch_Amazon-Elastic-Container-Registry_48.png
        │   │   │   ├── Arch_Amazon-Elastic-Container-Registry_48.svg
        │   │   │   ├── Arch_Amazon-Elastic-Container-Service_48.png
        │   │   │   ├── Arch_Amazon-Elastic-Container-Service_48.svg
        │   │   │   ├── Arch_Amazon-Elastic-Kubernetes-Service_48.png
        │   │   │   ├── Arch_Amazon-Elastic-Kubernetes-Service_48.svg
        │   │   │   ├── Arch_AWS-Fargate_48.png
        │   │   │   ├── Arch_AWS-Fargate_48.svg
        │   │   │   ├── Arch_Red-Hat-OpenShift-Service-on-AWS_48.png
        │   │   │   └── Arch_Red-Hat-OpenShift-Service-on-AWS_48.svg
        │   │   └── 64
        │   │       ├── Arch_Amazon-ECS-Anywhere_64.png
        │   │       ├── Arch_Amazon-ECS-Anywhere_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-EKS-Anywhere_64.png
        │   │       ├── Arch_Amazon-EKS-Anywhere_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-EKS-Cloud_64.png
        │   │       ├── Arch_Amazon-EKS-Cloud_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-EKS-Distro_64.png
        │   │       ├── Arch_Amazon-EKS-Distro_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Elastic-Container-Registry_64.png
        │   │       ├── Arch_Amazon-Elastic-Container-Registry_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Elastic-Container-Service_64.png
        │   │       ├── Arch_Amazon-Elastic-Container-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Elastic-Kubernetes-Service_64.png
        │   │       ├── Arch_Amazon-Elastic-Kubernetes-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Fargate_64.png
        │   │       ├── Arch_AWS-Fargate_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Red-Hat-OpenShift-Service-on-AWS_64.png
        │   │       ├── Arch_Red-Hat-OpenShift-Service-on-AWS_64.svg
        │   │       └── [email protected]
        │   ├── customer-enablement
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── Arch_AWS-Activate_16.png
        │   │   │   ├── Arch_AWS-Activate_16.svg
        │   │   │   ├── Arch_AWS-IQ_16.png
        │   │   │   ├── Arch_AWS-IQ_16.svg
        │   │   │   ├── Arch_AWS-Managed-Services_16.png
        │   │   │   ├── Arch_AWS-Managed-Services_16.svg
        │   │   │   ├── Arch_AWS-Professional-Services_16.png
        │   │   │   ├── Arch_AWS-Professional-Services_16.svg
        │   │   │   ├── Arch_AWS-rePost_16.png
        │   │   │   ├── Arch_AWS-rePost_16.svg
        │   │   │   ├── Arch_AWS-rePost-Private_16.png
        │   │   │   ├── Arch_AWS-rePost-Private_16.svg
        │   │   │   ├── Arch_AWS-Support_16.png
        │   │   │   ├── Arch_AWS-Support_16.svg
        │   │   │   ├── Arch_AWS-Training-Certification_16.png
        │   │   │   └── Arch_AWS-Training-Certification_16.svg
        │   │   ├── 32
        │   │   │   ├── Arch_AWS-Activate_32.png
        │   │   │   ├── Arch_AWS-Activate_32.svg
        │   │   │   ├── Arch_AWS-IQ_32.png
        │   │   │   ├── Arch_AWS-IQ_32.svg
        │   │   │   ├── Arch_AWS-Managed-Services_32.png
        │   │   │   ├── Arch_AWS-Managed-Services_32.svg
        │   │   │   ├── Arch_AWS-Professional-Services_32.png
        │   │   │   ├── Arch_AWS-Professional-Services_32.svg
        │   │   │   ├── Arch_AWS-rePost_32.png
        │   │   │   ├── Arch_AWS-rePost_32.svg
        │   │   │   ├── Arch_AWS-rePost-Private_32.png
        │   │   │   ├── Arch_AWS-rePost-Private_32.svg
        │   │   │   ├── Arch_AWS-Support_32.png
        │   │   │   ├── Arch_AWS-Support_32.svg
        │   │   │   ├── Arch_AWS-Training-Certification_32.png
        │   │   │   └── Arch_AWS-Training-Certification_32.svg
        │   │   ├── 48
        │   │   │   ├── Arch_AWS-Activate_48.png
        │   │   │   ├── Arch_AWS-Activate_48.svg
        │   │   │   ├── Arch_AWS-IQ_48.png
        │   │   │   ├── Arch_AWS-IQ_48.svg
        │   │   │   ├── Arch_AWS-Managed-Services_48.png
        │   │   │   ├── Arch_AWS-Managed-Services_48.svg
        │   │   │   ├── Arch_AWS-Professional-Services_48.png
        │   │   │   ├── Arch_AWS-Professional-Services_48.svg
        │   │   │   ├── Arch_AWS-rePost_48.png
        │   │   │   ├── Arch_AWS-rePost_48.svg
        │   │   │   ├── Arch_AWS-rePost-Private_48.png
        │   │   │   ├── Arch_AWS-rePost-Private_48.svg
        │   │   │   ├── Arch_AWS-Support_48.png
        │   │   │   ├── Arch_AWS-Support_48.svg
        │   │   │   ├── Arch_AWS-Training-Certification_48.png
        │   │   │   └── Arch_AWS-Training-Certification_48.svg
        │   │   └── 64
        │   │       ├── Arch_AWS-Activate_64.png
        │   │       ├── Arch_AWS-Activate_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IQ_64.png
        │   │       ├── Arch_AWS-IQ_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Managed-Services_64.png
        │   │       ├── Arch_AWS-Managed-Services_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Professional-Services_64.png
        │   │       ├── Arch_AWS-Professional-Services_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-rePost_64.png
        │   │       ├── Arch_AWS-rePost_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-rePost-Private_64.png
        │   │       ├── Arch_AWS-rePost-Private_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Support_64.png
        │   │       ├── Arch_AWS-Support_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Training-Certification_64.png
        │   │       ├── Arch_AWS-Training-Certification_64.svg
        │   │       └── [email protected]
        │   ├── database
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Aurora_16.png
        │   │   │   ├── Arch_Amazon-Aurora_16.svg
        │   │   │   ├── Arch_Amazon-DocumentDB_16.png
        │   │   │   ├── Arch_Amazon-DocumentDB_16.svg
        │   │   │   ├── Arch_Amazon-DynamoDB_16.png
        │   │   │   ├── Arch_Amazon-DynamoDB_16.svg
        │   │   │   ├── Arch_Amazon-ElastiCache_16.png
        │   │   │   ├── Arch_Amazon-ElastiCache_16.svg
        │   │   │   ├── Arch_Amazon-Keyspaces_16.png
        │   │   │   ├── Arch_Amazon-Keyspaces_16.svg
        │   │   │   ├── Arch_Amazon-MemoryDB_16.png
        │   │   │   ├── Arch_Amazon-MemoryDB_16.svg
        │   │   │   ├── Arch_Amazon-Neptune_16.png
        │   │   │   ├── Arch_Amazon-Neptune_16.svg
        │   │   │   ├── Arch_Amazon-RDS_16.png
        │   │   │   ├── Arch_Amazon-RDS_16.svg
        │   │   │   ├── Arch_Amazon-Timestream_16.png
        │   │   │   ├── Arch_Amazon-Timestream_16.svg
        │   │   │   ├── Arch_AWS-Database-Migration-Service_16.png
        │   │   │   ├── Arch_AWS-Database-Migration-Service_16.svg
        │   │   │   ├── Arch_Oracle-Database-at-AWS_16.png
        │   │   │   └── Arch_Oracle-Database-at-AWS_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Aurora_32.png
        │   │   │   ├── Arch_Amazon-Aurora_32.svg
        │   │   │   ├── Arch_Amazon-DocumentDB_32.png
        │   │   │   ├── Arch_Amazon-DocumentDB_32.svg
        │   │   │   ├── Arch_Amazon-DynamoDB_32.png
        │   │   │   ├── Arch_Amazon-DynamoDB_32.svg
        │   │   │   ├── Arch_Amazon-ElastiCache_32.png
        │   │   │   ├── Arch_Amazon-ElastiCache_32.svg
        │   │   │   ├── Arch_Amazon-Keyspaces_32.png
        │   │   │   ├── Arch_Amazon-Keyspaces_32.svg
        │   │   │   ├── Arch_Amazon-MemoryDB_32.png
        │   │   │   ├── Arch_Amazon-MemoryDB_32.svg
        │   │   │   ├── Arch_Amazon-Neptune_32.png
        │   │   │   ├── Arch_Amazon-Neptune_32.svg
        │   │   │   ├── Arch_Amazon-RDS_32.png
        │   │   │   ├── Arch_Amazon-RDS_32.svg
        │   │   │   ├── Arch_Amazon-Timestream_32.png
        │   │   │   ├── Arch_Amazon-Timestream_32.svg
        │   │   │   ├── Arch_AWS-Database-Migration-Service_32.png
        │   │   │   ├── Arch_AWS-Database-Migration-Service_32.svg
        │   │   │   ├── Arch_Oracle-Database-at-AWS_32.png
        │   │   │   └── Arch_Oracle-Database-at-AWS_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Aurora_48.png
        │   │   │   ├── Arch_Amazon-Aurora_48.svg
        │   │   │   ├── Arch_Amazon-DocumentDB_48.png
        │   │   │   ├── Arch_Amazon-DocumentDB_48.svg
        │   │   │   ├── Arch_Amazon-DynamoDB_48.png
        │   │   │   ├── Arch_Amazon-DynamoDB_48.svg
        │   │   │   ├── Arch_Amazon-ElastiCache_48.png
        │   │   │   ├── Arch_Amazon-ElastiCache_48.svg
        │   │   │   ├── Arch_Amazon-Keyspaces_48.png
        │   │   │   ├── Arch_Amazon-Keyspaces_48.svg
        │   │   │   ├── Arch_Amazon-MemoryDB_48.png
        │   │   │   ├── Arch_Amazon-MemoryDB_48.svg
        │   │   │   ├── Arch_Amazon-Neptune_48.png
        │   │   │   ├── Arch_Amazon-Neptune_48.svg
        │   │   │   ├── Arch_Amazon-RDS_48.png
        │   │   │   ├── Arch_Amazon-RDS_48.svg
        │   │   │   ├── Arch_Amazon-Timestream_48.png
        │   │   │   ├── Arch_Amazon-Timestream_48.svg
        │   │   │   ├── Arch_AWS-Database-Migration-Service_48.png
        │   │   │   ├── Arch_AWS-Database-Migration-Service_48.svg
        │   │   │   ├── Arch_Oracle-Database-at-AWS_48.png
        │   │   │   └── Arch_Oracle-Database-at-AWS_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-Aurora_64.png
        │   │       ├── Arch_Amazon-Aurora_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-DocumentDB_64.png
        │   │       ├── Arch_Amazon-DocumentDB_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-DynamoDB_64.png
        │   │       ├── Arch_Amazon-DynamoDB_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-ElastiCache_64.png
        │   │       ├── Arch_Amazon-ElastiCache_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Keyspaces_64.png
        │   │       ├── Arch_Amazon-Keyspaces_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-MemoryDB_64.png
        │   │       ├── Arch_Amazon-MemoryDB_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Neptune_64.png
        │   │       ├── Arch_Amazon-Neptune_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-RDS_64.png
        │   │       ├── Arch_Amazon-RDS_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Timestream_64.png
        │   │       ├── Arch_Amazon-Timestream_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Database-Migration-Service_64.png
        │   │       ├── Arch_AWS-Database-Migration-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Oracle-Database-at-AWS_64.png
        │   │       ├── Arch_Oracle-Database-at-AWS_64.svg
        │   │       └── [email protected]
        │   ├── developer-tools
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-CodeCatalyst_16.png
        │   │   │   ├── Arch_Amazon-CodeCatalyst_16.svg
        │   │   │   ├── Arch_Amazon-Corretto_16.png
        │   │   │   ├── Arch_Amazon-Corretto_16.svg
        │   │   │   ├── Arch_AWS-Cloud-Control-API_16.png
        │   │   │   ├── Arch_AWS-Cloud-Control-API_16.svg
        │   │   │   ├── Arch_AWS-Cloud-Development-Kit_16.png
        │   │   │   ├── Arch_AWS-Cloud-Development-Kit_16.svg
        │   │   │   ├── Arch_AWS-Cloud9_16.png
        │   │   │   ├── Arch_AWS-Cloud9_16.svg
        │   │   │   ├── Arch_AWS-CloudShell_16.png
        │   │   │   ├── Arch_AWS-CloudShell_16.svg
        │   │   │   ├── Arch_AWS-CodeArtifact_16.png
        │   │   │   ├── Arch_AWS-CodeArtifact_16.svg
        │   │   │   ├── Arch_AWS-CodeBuild_16.png
        │   │   │   ├── Arch_AWS-CodeBuild_16.svg
        │   │   │   ├── Arch_AWS-CodeCommit_16.png
        │   │   │   ├── Arch_AWS-CodeCommit_16.svg
        │   │   │   ├── Arch_AWS-CodeDeploy_16.png
        │   │   │   ├── Arch_AWS-CodeDeploy_16.svg
        │   │   │   ├── Arch_AWS-CodePipeline_16.png
        │   │   │   ├── Arch_AWS-CodePipeline_16.svg
        │   │   │   ├── Arch_AWS-Command-Line-Interface_16.png
        │   │   │   ├── Arch_AWS-Command-Line-Interface_16.svg
        │   │   │   ├── Arch_AWS-Fault-Injection-Service_16.png
        │   │   │   ├── Arch_AWS-Fault-Injection-Service_16.svg
        │   │   │   ├── Arch_AWS-Infrastructure-Composer_16.png
        │   │   │   ├── Arch_AWS-Infrastructure-Composer_16.svg
        │   │   │   ├── Arch_AWS-Tools-and-SDKs_16.png
        │   │   │   ├── Arch_AWS-Tools-and-SDKs_16.svg
        │   │   │   ├── Arch_AWS-X-Ray_16.png
        │   │   │   └── Arch_AWS-X-Ray_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-CodeCatalyst_32.png
        │   │   │   ├── Arch_Amazon-CodeCatalyst_32.svg
        │   │   │   ├── Arch_Amazon-Corretto_32.png
        │   │   │   ├── Arch_Amazon-Corretto_32.svg
        │   │   │   ├── Arch_AWS-Cloud-Control-API_32.png
        │   │   │   ├── Arch_AWS-Cloud-Control-API_32.svg
        │   │   │   ├── Arch_AWS-Cloud-Development-Kit_32.png
        │   │   │   ├── Arch_AWS-Cloud-Development-Kit_32.svg
        │   │   │   ├── Arch_AWS-Cloud9_32.png
        │   │   │   ├── Arch_AWS-Cloud9_32.svg
        │   │   │   ├── Arch_AWS-CloudShell_32.png
        │   │   │   ├── Arch_AWS-CloudShell_32.svg
        │   │   │   ├── Arch_AWS-CodeArtifact_32.png
        │   │   │   ├── Arch_AWS-CodeArtifact_32.svg
        │   │   │   ├── Arch_AWS-CodeBuild_32.png
        │   │   │   ├── Arch_AWS-CodeBuild_32.svg
        │   │   │   ├── Arch_AWS-CodeCommit_32.png
        │   │   │   ├── Arch_AWS-CodeCommit_32.svg
        │   │   │   ├── Arch_AWS-CodeDeploy_32.png
        │   │   │   ├── Arch_AWS-CodeDeploy_32.svg
        │   │   │   ├── Arch_AWS-CodePipeline_32.png
        │   │   │   ├── Arch_AWS-CodePipeline_32.svg
        │   │   │   ├── Arch_AWS-Command-Line-Interface_32.png
        │   │   │   ├── Arch_AWS-Command-Line-Interface_32.svg
        │   │   │   ├── Arch_AWS-Fault-Injection-Service_32.png
        │   │   │   ├── Arch_AWS-Fault-Injection-Service_32.svg
        │   │   │   ├── Arch_AWS-Infrastructure-Composer_32.png
        │   │   │   ├── Arch_AWS-Infrastructure-Composer_32.svg
        │   │   │   ├── Arch_AWS-Tools-and-SDKs_32.png
        │   │   │   ├── Arch_AWS-Tools-and-SDKs_32.svg
        │   │   │   ├── Arch_AWS-X-Ray_32.png
        │   │   │   └── Arch_AWS-X-Ray_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-CodeCatalyst_48.png
        │   │   │   ├── Arch_Amazon-CodeCatalyst_48.svg
        │   │   │   ├── Arch_Amazon-Corretto_48.png
        │   │   │   ├── Arch_Amazon-Corretto_48.svg
        │   │   │   ├── Arch_AWS-Cloud-Control-API_48.png
        │   │   │   ├── Arch_AWS-Cloud-Control-API_48.svg
        │   │   │   ├── Arch_AWS-Cloud-Development-Kit_48.png
        │   │   │   ├── Arch_AWS-Cloud-Development-Kit_48.svg
        │   │   │   ├── Arch_AWS-Cloud9_48.png
        │   │   │   ├── Arch_AWS-Cloud9_48.svg
        │   │   │   ├── Arch_AWS-CloudShell_48.png
        │   │   │   ├── Arch_AWS-CloudShell_48.svg
        │   │   │   ├── Arch_AWS-CodeArtifact_48.png
        │   │   │   ├── Arch_AWS-CodeArtifact_48.svg
        │   │   │   ├── Arch_AWS-CodeBuild_48.png
        │   │   │   ├── Arch_AWS-CodeBuild_48.svg
        │   │   │   ├── Arch_AWS-CodeCommit_48.png
        │   │   │   ├── Arch_AWS-CodeCommit_48.svg
        │   │   │   ├── Arch_AWS-CodeDeploy_48.png
        │   │   │   ├── Arch_AWS-CodeDeploy_48.svg
        │   │   │   ├── Arch_AWS-CodePipeline_48.png
        │   │   │   ├── Arch_AWS-CodePipeline_48.svg
        │   │   │   ├── Arch_AWS-Command-Line-Interface_48.png
        │   │   │   ├── Arch_AWS-Command-Line-Interface_48.svg
        │   │   │   ├── Arch_AWS-Fault-Injection-Service_48.png
        │   │   │   ├── Arch_AWS-Fault-Injection-Service_48.svg
        │   │   │   ├── Arch_AWS-Infrastructure-Composer_48.png
        │   │   │   ├── Arch_AWS-Infrastructure-Composer_48.svg
        │   │   │   ├── Arch_AWS-Tools-and-SDKs_48.png
        │   │   │   ├── Arch_AWS-Tools-and-SDKs_48.svg
        │   │   │   ├── Arch_AWS-X-Ray_48.png
        │   │   │   └── Arch_AWS-X-Ray_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-CodeCatalyst_64.png
        │   │       ├── Arch_Amazon-CodeCatalyst_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Corretto_64.png
        │   │       ├── Arch_Amazon-Corretto_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Cloud-Control-API_64.png
        │   │       ├── Arch_AWS-Cloud-Control-API_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Cloud-Development-Kit_64.png
        │   │       ├── Arch_AWS-Cloud-Development-Kit_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Cloud9_64.png
        │   │       ├── Arch_AWS-Cloud9_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-CloudShell_64.png
        │   │       ├── Arch_AWS-CloudShell_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-CodeArtifact_64.png
        │   │       ├── Arch_AWS-CodeArtifact_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-CodeBuild_64.png
        │   │       ├── Arch_AWS-CodeBuild_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-CodeCommit_64.png
        │   │       ├── Arch_AWS-CodeCommit_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-CodeDeploy_64.png
        │   │       ├── Arch_AWS-CodeDeploy_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-CodePipeline_64.png
        │   │       ├── Arch_AWS-CodePipeline_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Command-Line-Interface_64.png
        │   │       ├── Arch_AWS-Command-Line-Interface_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Fault-Injection-Service_64.png
        │   │       ├── Arch_AWS-Fault-Injection-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Infrastructure-Composer_64.png
        │   │       ├── Arch_AWS-Infrastructure-Composer_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Tools-and-SDKs_64.png
        │   │       ├── Arch_AWS-Tools-and-SDKs_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-X-Ray_64.png
        │   │       ├── Arch_AWS-X-Ray_64.svg
        │   │       └── [email protected]
        │   ├── end-user-computing
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-AppStream-2_16.png
        │   │   │   ├── Arch_Amazon-AppStream-2_16.svg
        │   │   │   ├── Arch_Amazon-WorkSpaces-Family_16.png
        │   │   │   └── Arch_Amazon-WorkSpaces-Family_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-AppStream-2_32.png
        │   │   │   ├── Arch_Amazon-AppStream-2_32.svg
        │   │   │   ├── Arch_Amazon-WorkSpaces-Family_32.png
        │   │   │   └── Arch_Amazon-WorkSpaces-Family_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-AppStream-2_48.png
        │   │   │   ├── Arch_Amazon-AppStream-2_48.svg
        │   │   │   ├── Arch_Amazon-WorkSpaces-Family_48.png
        │   │   │   └── Arch_Amazon-WorkSpaces-Family_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-AppStream-2_64.png
        │   │       ├── Arch_Amazon-AppStream-2_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-WorkSpaces-Family_64.png
        │   │       ├── Arch_Amazon-WorkSpaces-Family_64.svg
        │   │       └── [email protected]
        │   ├── front-end-web-mobile
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── Arch_Amazon-Location-Service_16.png
        │   │   │   ├── Arch_Amazon-Location-Service_16.svg
        │   │   │   ├── Arch_AWS-Amplify_16.png
        │   │   │   ├── Arch_AWS-Amplify_16.svg
        │   │   │   ├── Arch_AWS-Device-Farm_16.png
        │   │   │   └── Arch_AWS-Device-Farm_16.svg
        │   │   ├── 32
        │   │   │   ├── Arch_Amazon-Location-Service_32.png
        │   │   │   ├── Arch_Amazon-Location-Service_32.svg
        │   │   │   ├── Arch_AWS-Amplify_32.png
        │   │   │   ├── Arch_AWS-Amplify_32.svg
        │   │   │   ├── Arch_AWS-Device-Farm_32.png
        │   │   │   └── Arch_AWS-Device-Farm_32.svg
        │   │   ├── 48
        │   │   │   ├── Arch_Amazon-Location-Service_48.png
        │   │   │   ├── Arch_Amazon-Location-Service_48.svg
        │   │   │   ├── Arch_AWS-Amplify_48.png
        │   │   │   ├── Arch_AWS-Amplify_48.svg
        │   │   │   ├── Arch_AWS-Device-Farm_48.png
        │   │   │   └── Arch_AWS-Device-Farm_48.svg
        │   │   └── 64
        │   │       ├── Arch_Amazon-Location-Service_64.png
        │   │       ├── Arch_Amazon-Location-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Amplify_64.png
        │   │       ├── Arch_AWS-Amplify_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Device-Farm_64.png
        │   │       ├── Arch_AWS-Device-Farm_64.svg
        │   │       └── [email protected]
        │   ├── games
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-GameLift-Servers_16.png
        │   │   │   ├── Arch_Amazon-GameLift-Servers_16.svg
        │   │   │   ├── Arch_Amazon-GameLift-Streams_16.png
        │   │   │   ├── Arch_Amazon-GameLift-Streams_16.svg
        │   │   │   ├── Arch_Open-3D-Engine_16.png
        │   │   │   └── Arch_Open-3D-Engine_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-GameLift-Servers_32.png
        │   │   │   ├── Arch_Amazon-GameLift-Servers_32.svg
        │   │   │   ├── Arch_Amazon-GameLift-Streams_32.png
        │   │   │   ├── Arch_Amazon-GameLift-Streams_32.svg
        │   │   │   ├── Arch_Open-3D-Engine_32.png
        │   │   │   └── Arch_Open-3D-Engine_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-GameLift-Servers_48.png
        │   │   │   ├── Arch_Amazon-GameLift-Servers_48.svg
        │   │   │   ├── Arch_Amazon-GameLift-Streams_48.png
        │   │   │   ├── Arch_Amazon-GameLift-Streams_48.svg
        │   │   │   ├── Arch_Open-3D-Engine_48.png
        │   │   │   └── Arch_Open-3D-Engine_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-GameLift-Servers_64.png
        │   │       ├── Arch_Amazon-GameLift-Servers_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-GameLift-Streams_64.png
        │   │       ├── Arch_Amazon-GameLift-Streams_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Open-3D-Engine_64.png
        │   │       ├── Arch_Open-3D-Engine_64.svg
        │   │       └── [email protected]
        │   ├── general-icons
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── Arch_AWS-Marketplace_Dark_16.png
        │   │   │   ├── Arch_AWS-Marketplace_Dark_16.svg
        │   │   │   ├── Arch_AWS-Marketplace_Light_16.png
        │   │   │   └── Arch_AWS-Marketplace_Light_16.svg
        │   │   ├── 32
        │   │   │   ├── Arch_AWS-Marketplace_Dark_32.png
        │   │   │   ├── Arch_AWS-Marketplace_Dark_32.svg
        │   │   │   ├── Arch_AWS-Marketplace_Light_32.png
        │   │   │   └── Arch_AWS-Marketplace_Light_32.svg
        │   │   ├── 48
        │   │   │   ├── Arch_AWS-Marketplace_Dark_48.png
        │   │   │   ├── Arch_AWS-Marketplace_Dark_48.svg
        │   │   │   ├── Arch_AWS-Marketplace_Light_48.png
        │   │   │   └── Arch_AWS-Marketplace_Light_48.svg
        │   │   └── 64
        │   │       ├── Arch_AWS-Marketplace_Dark_64.png
        │   │       ├── Arch_AWS-Marketplace_Dark_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Marketplace_Light_64.png
        │   │       ├── Arch_AWS-Marketplace_Light_64.svg
        │   │       └── [email protected]
        │   ├── internet-of-things
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_AWS-IoT-Analytics_16.png
        │   │   │   ├── Arch_AWS-IoT-Analytics_16.svg
        │   │   │   ├── Arch_AWS-IoT-Button_16.png
        │   │   │   ├── Arch_AWS-IoT-Button_16.svg
        │   │   │   ├── Arch_AWS-IoT-Core_16.png
        │   │   │   ├── Arch_AWS-IoT-Core_16.svg
        │   │   │   ├── Arch_AWS-IoT-Device-Defender_16.png
        │   │   │   ├── Arch_AWS-IoT-Device-Defender_16.svg
        │   │   │   ├── Arch_AWS-IoT-Device-Management_16.png
        │   │   │   ├── Arch_AWS-IoT-Device-Management_16.svg
        │   │   │   ├── Arch_AWS-IoT-Events_16.png
        │   │   │   ├── Arch_AWS-IoT-Events_16.svg
        │   │   │   ├── Arch_AWS-IoT-ExpressLink_16.png
        │   │   │   ├── Arch_AWS-IoT-ExpressLink_16.svg
        │   │   │   ├── Arch_AWS-IoT-FleetWise_16.png
        │   │   │   ├── Arch_AWS-IoT-FleetWise_16.svg
        │   │   │   ├── Arch_AWS-IoT-Greengrass_16.png
        │   │   │   ├── Arch_AWS-IoT-Greengrass_16.svg
        │   │   │   ├── Arch_AWS-IoT-SiteWise_16.png
        │   │   │   ├── Arch_AWS-IoT-SiteWise_16.svg
        │   │   │   ├── Arch_AWS-IoT-TwinMaker_16.png
        │   │   │   ├── Arch_AWS-IoT-TwinMaker_16.svg
        │   │   │   ├── Arch_FreeRTOS_16.png
        │   │   │   └── Arch_FreeRTOS_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_AWS-IoT-Analytics_32.png
        │   │   │   ├── Arch_AWS-IoT-Analytics_32.svg
        │   │   │   ├── Arch_AWS-IoT-Button_32.png
        │   │   │   ├── Arch_AWS-IoT-Button_32.svg
        │   │   │   ├── Arch_AWS-IoT-Core_32.png
        │   │   │   ├── Arch_AWS-IoT-Core_32.svg
        │   │   │   ├── Arch_AWS-IoT-Device-Defender_32.png
        │   │   │   ├── Arch_AWS-IoT-Device-Defender_32.svg
        │   │   │   ├── Arch_AWS-IoT-Device-Management_32.png
        │   │   │   ├── Arch_AWS-IoT-Device-Management_32.svg
        │   │   │   ├── Arch_AWS-IoT-Events_32.png
        │   │   │   ├── Arch_AWS-IoT-Events_32.svg
        │   │   │   ├── Arch_AWS-IoT-ExpressLink_32.png
        │   │   │   ├── Arch_AWS-IoT-ExpressLink_32.svg
        │   │   │   ├── Arch_AWS-IoT-FleetWise_32.png
        │   │   │   ├── Arch_AWS-IoT-FleetWise_32.svg
        │   │   │   ├── Arch_AWS-IoT-Greengrass_32.png
        │   │   │   ├── Arch_AWS-IoT-Greengrass_32.svg
        │   │   │   ├── Arch_AWS-IoT-SiteWise_32.png
        │   │   │   ├── Arch_AWS-IoT-SiteWise_32.svg
        │   │   │   ├── Arch_AWS-IoT-TwinMaker_32.png
        │   │   │   ├── Arch_AWS-IoT-TwinMaker_32.svg
        │   │   │   ├── Arch_FreeRTOS_32.png
        │   │   │   └── Arch_FreeRTOS_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_AWS-IoT-Analytics_48.png
        │   │   │   ├── Arch_AWS-IoT-Analytics_48.svg
        │   │   │   ├── Arch_AWS-IoT-Button_48.png
        │   │   │   ├── Arch_AWS-IoT-Button_48.svg
        │   │   │   ├── Arch_AWS-IoT-Core_48.png
        │   │   │   ├── Arch_AWS-IoT-Core_48.svg
        │   │   │   ├── Arch_AWS-IoT-Device-Defender_48.png
        │   │   │   ├── Arch_AWS-IoT-Device-Defender_48.svg
        │   │   │   ├── Arch_AWS-IoT-Device-Management_48.png
        │   │   │   ├── Arch_AWS-IoT-Device-Management_48.svg
        │   │   │   ├── Arch_AWS-IoT-Events_48.png
        │   │   │   ├── Arch_AWS-IoT-Events_48.svg
        │   │   │   ├── Arch_AWS-IoT-ExpressLink_48.png
        │   │   │   ├── Arch_AWS-IoT-ExpressLink_48.svg
        │   │   │   ├── Arch_AWS-IoT-FleetWise_48.png
        │   │   │   ├── Arch_AWS-IoT-FleetWise_48.svg
        │   │   │   ├── Arch_AWS-IoT-Greengrass_48.png
        │   │   │   ├── Arch_AWS-IoT-Greengrass_48.svg
        │   │   │   ├── Arch_AWS-IoT-SiteWise_48.png
        │   │   │   ├── Arch_AWS-IoT-SiteWise_48.svg
        │   │   │   ├── Arch_AWS-IoT-TwinMaker_48.png
        │   │   │   ├── Arch_AWS-IoT-TwinMaker_48.svg
        │   │   │   ├── Arch_FreeRTOS_48.png
        │   │   │   └── Arch_FreeRTOS_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_AWS-IoT-Analytics_64.png
        │   │       ├── Arch_AWS-IoT-Analytics_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-Button_64.png
        │   │       ├── Arch_AWS-IoT-Button_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-Core_64.png
        │   │       ├── Arch_AWS-IoT-Core_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-Device-Defender_64.png
        │   │       ├── Arch_AWS-IoT-Device-Defender_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-Device-Management_64.png
        │   │       ├── Arch_AWS-IoT-Device-Management_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-Events_64.png
        │   │       ├── Arch_AWS-IoT-Events_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-ExpressLink_64.png
        │   │       ├── Arch_AWS-IoT-ExpressLink_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-FleetWise_64.png
        │   │       ├── Arch_AWS-IoT-FleetWise_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-Greengrass_64.png
        │   │       ├── Arch_AWS-IoT-Greengrass_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-SiteWise_64.png
        │   │       ├── Arch_AWS-IoT-SiteWise_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IoT-TwinMaker_64.png
        │   │       ├── Arch_AWS-IoT-TwinMaker_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_FreeRTOS_64.png
        │   │       ├── Arch_FreeRTOS_64.svg
        │   │       └── [email protected]
        │   ├── management-governance
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-CloudWatch_16.png
        │   │   │   ├── Arch_Amazon-CloudWatch_16.svg
        │   │   │   ├── Arch_Amazon-Managed-Grafana_16.png
        │   │   │   ├── Arch_Amazon-Managed-Grafana_16.svg
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Prometheus_16.png
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Prometheus_16.svg
        │   │   │   ├── Arch_AWS-AppConfig_16.png
        │   │   │   ├── Arch_AWS-AppConfig_16.svg
        │   │   │   ├── Arch_AWS-Application-Auto-Scaling_16.png
        │   │   │   ├── Arch_AWS-Application-Auto-Scaling_16.svg
        │   │   │   ├── Arch_AWS-Auto-Scaling_16.png
        │   │   │   ├── Arch_AWS-Auto-Scaling_16.svg
        │   │   │   ├── Arch_AWS-Backint-Agent_16.png
        │   │   │   ├── Arch_AWS-Backint-Agent_16.svg
        │   │   │   ├── Arch_AWS-Chatbot_16.png
        │   │   │   ├── Arch_AWS-Chatbot_16.svg
        │   │   │   ├── Arch_AWS-CloudFormation_16.png
        │   │   │   ├── Arch_AWS-CloudFormation_16.svg
        │   │   │   ├── Arch_AWS-CloudTrail_16.png
        │   │   │   ├── Arch_AWS-CloudTrail_16.svg
        │   │   │   ├── Arch_AWS-Compute-Optimizer_16.png
        │   │   │   ├── Arch_AWS-Compute-Optimizer_16.svg
        │   │   │   ├── Arch_AWS-Config_16.png
        │   │   │   ├── Arch_AWS-Config_16.svg
        │   │   │   ├── Arch_AWS-Console-Mobile-Application_16.png
        │   │   │   ├── Arch_AWS-Console-Mobile-Application_16.svg
        │   │   │   ├── Arch_AWS-Control-Tower_16.png
        │   │   │   ├── Arch_AWS-Control-Tower_16.svg
        │   │   │   ├── Arch_AWS-Distro-for-OpenTelemetry_16.png
        │   │   │   ├── Arch_AWS-Distro-for-OpenTelemetry_16.svg
        │   │   │   ├── Arch_AWS-Health-Dashboard_16.png
        │   │   │   ├── Arch_AWS-Health-Dashboard_16.svg
        │   │   │   ├── Arch_AWS-Launch-Wizard_16.png
        │   │   │   ├── Arch_AWS-Launch-Wizard_16.svg
        │   │   │   ├── Arch_AWS-License-Manager_16.png
        │   │   │   ├── Arch_AWS-License-Manager_16.svg
        │   │   │   ├── Arch_AWS-Management-Console_16.png
        │   │   │   ├── Arch_AWS-Management-Console_16.svg
        │   │   │   ├── Arch_AWS-Organizations_16.png
        │   │   │   ├── Arch_AWS-Organizations_16.svg
        │   │   │   ├── Arch_AWS-Proton_16.png
        │   │   │   ├── Arch_AWS-Proton_16.svg
        │   │   │   ├── Arch_AWS-Resilience-Hub_16.png
        │   │   │   ├── Arch_AWS-Resilience-Hub_16.svg
        │   │   │   ├── Arch_AWS-Resource-Explorer_16.png
        │   │   │   ├── Arch_AWS-Resource-Explorer_16.svg
        │   │   │   ├── Arch_AWS-Service-Catalog_16.png
        │   │   │   ├── Arch_AWS-Service-Catalog_16.svg
        │   │   │   ├── Arch_AWS-Service-Management-Connector_16.png
        │   │   │   ├── Arch_AWS-Service-Management-Connector_16.svg
        │   │   │   ├── Arch_AWS-Systems-Manager_16.png
        │   │   │   ├── Arch_AWS-Systems-Manager_16.svg
        │   │   │   ├── Arch_AWS-Telco-Network-Builder_16.png
        │   │   │   ├── Arch_AWS-Telco-Network-Builder_16.svg
        │   │   │   ├── Arch_AWS-Trusted-Advisor_16.png
        │   │   │   ├── Arch_AWS-Trusted-Advisor_16.svg
        │   │   │   ├── Arch_AWS-User-Notifications_16.png
        │   │   │   ├── Arch_AWS-User-Notifications_16.svg
        │   │   │   ├── Arch_AWS-Well-Architected-Tool_16.png
        │   │   │   └── Arch_AWS-Well-Architected-Tool_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-CloudWatch_32.png
        │   │   │   ├── Arch_Amazon-CloudWatch_32.svg
        │   │   │   ├── Arch_Amazon-Managed-Grafana_32.png
        │   │   │   ├── Arch_Amazon-Managed-Grafana_32.svg
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Prometheus_32.png
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Prometheus_32.svg
        │   │   │   ├── Arch_AWS-AppConfig_32.png
        │   │   │   ├── Arch_AWS-AppConfig_32.svg
        │   │   │   ├── Arch_AWS-Application-Auto-Scaling_32.png
        │   │   │   ├── Arch_AWS-Application-Auto-Scaling_32.svg
        │   │   │   ├── Arch_AWS-Auto-Scaling_32.png
        │   │   │   ├── Arch_AWS-Auto-Scaling_32.svg
        │   │   │   ├── Arch_AWS-Backint-Agent_32.png
        │   │   │   ├── Arch_AWS-Backint-Agent_32.svg
        │   │   │   ├── Arch_AWS-Chatbot_32.png
        │   │   │   ├── Arch_AWS-Chatbot_32.svg
        │   │   │   ├── Arch_AWS-CloudFormation_32.png
        │   │   │   ├── Arch_AWS-CloudFormation_32.svg
        │   │   │   ├── Arch_AWS-CloudTrail_32.png
        │   │   │   ├── Arch_AWS-CloudTrail_32.svg
        │   │   │   ├── Arch_AWS-Compute-Optimizer_32.png
        │   │   │   ├── Arch_AWS-Compute-Optimizer_32.svg
        │   │   │   ├── Arch_AWS-Config_32.png
        │   │   │   ├── Arch_AWS-Config_32.svg
        │   │   │   ├── Arch_AWS-Console-Mobile-Application_32.png
        │   │   │   ├── Arch_AWS-Console-Mobile-Application_32.svg
        │   │   │   ├── Arch_AWS-Control-Tower_32.png
        │   │   │   ├── Arch_AWS-Control-Tower_32.svg
        │   │   │   ├── Arch_AWS-Distro-for-OpenTelemetry_32.png
        │   │   │   ├── Arch_AWS-Distro-for-OpenTelemetry_32.svg
        │   │   │   ├── Arch_AWS-Health-Dashboard_32.png
        │   │   │   ├── Arch_AWS-Health-Dashboard_32.svg
        │   │   │   ├── Arch_AWS-Launch-Wizard_32.png
        │   │   │   ├── Arch_AWS-Launch-Wizard_32.svg
        │   │   │   ├── Arch_AWS-License-Manager_32.png
        │   │   │   ├── Arch_AWS-License-Manager_32.svg
        │   │   │   ├── Arch_AWS-Management-Console_32.png
        │   │   │   ├── Arch_AWS-Management-Console_32.svg
        │   │   │   ├── Arch_AWS-Organizations_32.png
        │   │   │   ├── Arch_AWS-Organizations_32.svg
        │   │   │   ├── Arch_AWS-Proton_32.png
        │   │   │   ├── Arch_AWS-Proton_32.svg
        │   │   │   ├── Arch_AWS-Resilience-Hub_32.png
        │   │   │   ├── Arch_AWS-Resilience-Hub_32.svg
        │   │   │   ├── Arch_AWS-Resource-Explorer_32.png
        │   │   │   ├── Arch_AWS-Resource-Explorer_32.svg
        │   │   │   ├── Arch_AWS-Service-Catalog_32.png
        │   │   │   ├── Arch_AWS-Service-Catalog_32.svg
        │   │   │   ├── Arch_AWS-Service-Management-Connector_32.png
        │   │   │   ├── Arch_AWS-Service-Management-Connector_32.svg
        │   │   │   ├── Arch_AWS-Systems-Manager_32.png
        │   │   │   ├── Arch_AWS-Systems-Manager_32.svg
        │   │   │   ├── Arch_AWS-Telco-Network-Builder_32.png
        │   │   │   ├── Arch_AWS-Telco-Network-Builder_32.svg
        │   │   │   ├── Arch_AWS-Trusted-Advisor_32.png
        │   │   │   ├── Arch_AWS-Trusted-Advisor_32.svg
        │   │   │   ├── Arch_AWS-User-Notifications_32.png
        │   │   │   ├── Arch_AWS-User-Notifications_32.svg
        │   │   │   ├── Arch_AWS-Well-Architected-Tool_32.png
        │   │   │   └── Arch_AWS-Well-Architected-Tool_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-CloudWatch_48.png
        │   │   │   ├── Arch_Amazon-CloudWatch_48.svg
        │   │   │   ├── Arch_Amazon-Managed-Grafana_48.png
        │   │   │   ├── Arch_Amazon-Managed-Grafana_48.svg
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Prometheus_48.png
        │   │   │   ├── Arch_Amazon-Managed-Service-for-Prometheus_48.svg
        │   │   │   ├── Arch_AWS-AppConfig_48.png
        │   │   │   ├── Arch_AWS-AppConfig_48.svg
        │   │   │   ├── Arch_AWS-Application-Auto-Scaling_48.png
        │   │   │   ├── Arch_AWS-Application-Auto-Scaling_48.svg
        │   │   │   ├── Arch_AWS-Auto-Scaling_48.png
        │   │   │   ├── Arch_AWS-Auto-Scaling_48.svg
        │   │   │   ├── Arch_AWS-Backint-Agent_48.png
        │   │   │   ├── Arch_AWS-Backint-Agent_48.svg
        │   │   │   ├── Arch_AWS-Chatbot_48.png
        │   │   │   ├── Arch_AWS-Chatbot_48.svg
        │   │   │   ├── Arch_AWS-CloudFormation_48.png
        │   │   │   ├── Arch_AWS-CloudFormation_48.svg
        │   │   │   ├── Arch_AWS-CloudTrail_48.png
        │   │   │   ├── Arch_AWS-CloudTrail_48.svg
        │   │   │   ├── Arch_AWS-Compute-Optimizer_48.png
        │   │   │   ├── Arch_AWS-Compute-Optimizer_48.svg
        │   │   │   ├── Arch_AWS-Config_48.png
        │   │   │   ├── Arch_AWS-Config_48.svg
        │   │   │   ├── Arch_AWS-Console-Mobile-Application_48.png
        │   │   │   ├── Arch_AWS-Console-Mobile-Application_48.svg
        │   │   │   ├── Arch_AWS-Control-Tower_48.png
        │   │   │   ├── Arch_AWS-Control-Tower_48.svg
        │   │   │   ├── Arch_AWS-Distro-for-OpenTelemetry_48.png
        │   │   │   ├── Arch_AWS-Distro-for-OpenTelemetry_48.svg
        │   │   │   ├── Arch_AWS-Health-Dashboard_48.png
        │   │   │   ├── Arch_AWS-Health-Dashboard_48.svg
        │   │   │   ├── Arch_AWS-Launch-Wizard_48.png
        │   │   │   ├── Arch_AWS-Launch-Wizard_48.svg
        │   │   │   ├── Arch_AWS-License-Manager_48.png
        │   │   │   ├── Arch_AWS-License-Manager_48.svg
        │   │   │   ├── Arch_AWS-Management-Console_48.png
        │   │   │   ├── Arch_AWS-Management-Console_48.svg
        │   │   │   ├── Arch_AWS-Organizations_48.png
        │   │   │   ├── Arch_AWS-Organizations_48.svg
        │   │   │   ├── Arch_AWS-Proton_48.png
        │   │   │   ├── Arch_AWS-Proton_48.svg
        │   │   │   ├── Arch_AWS-Resilience-Hub_48.png
        │   │   │   ├── Arch_AWS-Resilience-Hub_48.svg
        │   │   │   ├── Arch_AWS-Resource-Explorer_48.png
        │   │   │   ├── Arch_AWS-Resource-Explorer_48.svg
        │   │   │   ├── Arch_AWS-Service-Catalog_48.png
        │   │   │   ├── Arch_AWS-Service-Catalog_48.svg
        │   │   │   ├── Arch_AWS-Service-Management-Connector_48.png
        │   │   │   ├── Arch_AWS-Service-Management-Connector_48.svg
        │   │   │   ├── Arch_AWS-Systems-Manager_48.png
        │   │   │   ├── Arch_AWS-Systems-Manager_48.svg
        │   │   │   ├── Arch_AWS-Telco-Network-Builder_48.png
        │   │   │   ├── Arch_AWS-Telco-Network-Builder_48.svg
        │   │   │   ├── Arch_AWS-Trusted-Advisor_48.png
        │   │   │   ├── Arch_AWS-Trusted-Advisor_48.svg
        │   │   │   ├── Arch_AWS-User-Notifications_48.png
        │   │   │   ├── Arch_AWS-User-Notifications_48.svg
        │   │   │   ├── Arch_AWS-Well-Architected-Tool_48.png
        │   │   │   └── Arch_AWS-Well-Architected-Tool_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-CloudWatch_64.png
        │   │       ├── Arch_Amazon-CloudWatch_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Managed-Grafana_64.png
        │   │       ├── Arch_Amazon-Managed-Grafana_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Managed-Service-for-Prometheus_64.png
        │   │       ├── Arch_Amazon-Managed-Service-for-Prometheus_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-AppConfig_64.png
        │   │       ├── Arch_AWS-AppConfig_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Application-Auto-Scaling_64.png
        │   │       ├── Arch_AWS-Application-Auto-Scaling_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Auto-Scaling_64.png
        │   │       ├── Arch_AWS-Auto-Scaling_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Backint-Agent_64.png
        │   │       ├── Arch_AWS-Backint-Agent_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Chatbot_64.png
        │   │       ├── Arch_AWS-Chatbot_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-CloudFormation_64.png
        │   │       ├── Arch_AWS-CloudFormation_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-CloudTrail_64.png
        │   │       ├── Arch_AWS-CloudTrail_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Compute-Optimizer_64.png
        │   │       ├── Arch_AWS-Compute-Optimizer_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Config_64.png
        │   │       ├── Arch_AWS-Config_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Console-Mobile-Application_64.png
        │   │       ├── Arch_AWS-Console-Mobile-Application_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Control-Tower_64.png
        │   │       ├── Arch_AWS-Control-Tower_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Distro-for-OpenTelemetry_64.png
        │   │       ├── Arch_AWS-Distro-for-OpenTelemetry_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Health-Dashboard_64.png
        │   │       ├── Arch_AWS-Health-Dashboard_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Launch-Wizard_64.png
        │   │       ├── Arch_AWS-Launch-Wizard_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-License-Manager_64.png
        │   │       ├── Arch_AWS-License-Manager_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Management-Console_64.png
        │   │       ├── Arch_AWS-Management-Console_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Organizations_64.png
        │   │       ├── Arch_AWS-Organizations_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Proton_64.png
        │   │       ├── Arch_AWS-Proton_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Resilience-Hub_64.png
        │   │       ├── Arch_AWS-Resilience-Hub_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Resource-Explorer_64.png
        │   │       ├── Arch_AWS-Resource-Explorer_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Service-Catalog_64.png
        │   │       ├── Arch_AWS-Service-Catalog_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Service-Management-Connector_64.png
        │   │       ├── Arch_AWS-Service-Management-Connector_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Systems-Manager_64.png
        │   │       ├── Arch_AWS-Systems-Manager_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Telco-Network-Builder_64.png
        │   │       ├── Arch_AWS-Telco-Network-Builder_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Trusted-Advisor_64.png
        │   │       ├── Arch_AWS-Trusted-Advisor_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-User-Notifications_64.png
        │   │       ├── Arch_AWS-User-Notifications_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Well-Architected-Tool_64.png
        │   │       ├── Arch_AWS-Well-Architected-Tool_64.svg
        │   │       └── [email protected]
        │   ├── media-services
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Elastic-Transcoder_16.png
        │   │   │   ├── Arch_Amazon-Elastic-Transcoder_16.svg
        │   │   │   ├── Arch_Amazon-Interactive-Video-Service_16.png
        │   │   │   ├── Arch_Amazon-Interactive-Video-Service_16.svg
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_16.png
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_16.svg
        │   │   │   ├── Arch_AWS-Deadline-Cloud_16.png
        │   │   │   ├── Arch_AWS-Deadline-Cloud_16.svg
        │   │   │   ├── Arch_AWS-Elemental-Appliances-&-Software_16.png
        │   │   │   ├── Arch_AWS-Elemental-Appliances-&-Software_16.svg
        │   │   │   ├── Arch_AWS-Elemental-Conductor_16.png
        │   │   │   ├── Arch_AWS-Elemental-Conductor_16.svg
        │   │   │   ├── Arch_AWS-Elemental-Delta_16.png
        │   │   │   ├── Arch_AWS-Elemental-Delta_16.svg
        │   │   │   ├── Arch_AWS-Elemental-Link_16.png
        │   │   │   ├── Arch_AWS-Elemental-Link_16.svg
        │   │   │   ├── Arch_AWS-Elemental-Live_16.png
        │   │   │   ├── Arch_AWS-Elemental-Live_16.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaConnect_16.png
        │   │   │   ├── Arch_AWS-Elemental-MediaConnect_16.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaConvert_16.png
        │   │   │   ├── Arch_AWS-Elemental-MediaConvert_16.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaLive_16.png
        │   │   │   ├── Arch_AWS-Elemental-MediaLive_16.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaPackage_16.png
        │   │   │   ├── Arch_AWS-Elemental-MediaPackage_16.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaStore_16.png
        │   │   │   ├── Arch_AWS-Elemental-MediaStore_16.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaTailor_16.png
        │   │   │   ├── Arch_AWS-Elemental-MediaTailor_16.svg
        │   │   │   ├── Arch_AWS-Elemental-Server_16.png
        │   │   │   ├── Arch_AWS-Elemental-Server_16.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Deadline_16.png
        │   │   │   ├── Arch_AWS-Thinkbox-Deadline_16.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Frost_16.png
        │   │   │   ├── Arch_AWS-Thinkbox-Frost_16.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Krakatoa_16.png
        │   │   │   ├── Arch_AWS-Thinkbox-Krakatoa_16.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Sequoia_16.png
        │   │   │   ├── Arch_AWS-Thinkbox-Sequoia_16.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Stoke_16.png
        │   │   │   ├── Arch_AWS-Thinkbox-Stoke_16.svg
        │   │   │   ├── Arch_AWS-Thinkbox-XMesh_16.png
        │   │   │   └── Arch_AWS-Thinkbox-XMesh_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Elastic-Transcoder_32.png
        │   │   │   ├── Arch_Amazon-Elastic-Transcoder_32.svg
        │   │   │   ├── Arch_Amazon-Interactive-Video-Service_32.png
        │   │   │   ├── Arch_Amazon-Interactive-Video-Service_32.svg
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_32.png
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_32.svg
        │   │   │   ├── Arch_AWS-Deadline-Cloud_32.png
        │   │   │   ├── Arch_AWS-Deadline-Cloud_32.svg
        │   │   │   ├── Arch_AWS-Elemental-Appliances-&-Software_32.png
        │   │   │   ├── Arch_AWS-Elemental-Appliances-&-Software_32.svg
        │   │   │   ├── Arch_AWS-Elemental-Conductor_32.png
        │   │   │   ├── Arch_AWS-Elemental-Conductor_32.svg
        │   │   │   ├── Arch_AWS-Elemental-Delta_32.png
        │   │   │   ├── Arch_AWS-Elemental-Delta_32.svg
        │   │   │   ├── Arch_AWS-Elemental-Link_32.png
        │   │   │   ├── Arch_AWS-Elemental-Link_32.svg
        │   │   │   ├── Arch_AWS-Elemental-Live_32.png
        │   │   │   ├── Arch_AWS-Elemental-Live_32.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaConnect_32.png
        │   │   │   ├── Arch_AWS-Elemental-MediaConnect_32.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaConvert_32.png
        │   │   │   ├── Arch_AWS-Elemental-MediaConvert_32.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaLive_32.png
        │   │   │   ├── Arch_AWS-Elemental-MediaLive_32.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaPackage_32.png
        │   │   │   ├── Arch_AWS-Elemental-MediaPackage_32.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaStore_32.png
        │   │   │   ├── Arch_AWS-Elemental-MediaStore_32.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaTailor_32.png
        │   │   │   ├── Arch_AWS-Elemental-MediaTailor_32.svg
        │   │   │   ├── Arch_AWS-Elemental-Server_32.png
        │   │   │   ├── Arch_AWS-Elemental-Server_32.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Deadline_32.png
        │   │   │   ├── Arch_AWS-Thinkbox-Deadline_32.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Frost_32.png
        │   │   │   ├── Arch_AWS-Thinkbox-Frost_32.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Krakatoa_32.png
        │   │   │   ├── Arch_AWS-Thinkbox-Krakatoa_32.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Sequoia_32.png
        │   │   │   ├── Arch_AWS-Thinkbox-Sequoia_32.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Stoke_32.png
        │   │   │   ├── Arch_AWS-Thinkbox-Stoke_32.svg
        │   │   │   ├── Arch_AWS-Thinkbox-XMesh_32.png
        │   │   │   └── Arch_AWS-Thinkbox-XMesh_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-Elastic-Transcoder_48.png
        │   │   │   ├── Arch_Amazon-Elastic-Transcoder_48.svg
        │   │   │   ├── Arch_Amazon-Interactive-Video-Service_48.png
        │   │   │   ├── Arch_Amazon-Interactive-Video-Service_48.svg
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_48.png
        │   │   │   ├── Arch_Amazon-Kinesis-Video-Streams_48.svg
        │   │   │   ├── Arch_AWS-Deadline-Cloud_48.png
        │   │   │   ├── Arch_AWS-Deadline-Cloud_48.svg
        │   │   │   ├── Arch_AWS-Elemental-Appliances-&-Software_48.png
        │   │   │   ├── Arch_AWS-Elemental-Appliances-&-Software_48.svg
        │   │   │   ├── Arch_AWS-Elemental-Conductor_48.png
        │   │   │   ├── Arch_AWS-Elemental-Conductor_48.svg
        │   │   │   ├── Arch_AWS-Elemental-Delta_48.png
        │   │   │   ├── Arch_AWS-Elemental-Delta_48.svg
        │   │   │   ├── Arch_AWS-Elemental-Link_48.png
        │   │   │   ├── Arch_AWS-Elemental-Link_48.svg
        │   │   │   ├── Arch_AWS-Elemental-Live_48.png
        │   │   │   ├── Arch_AWS-Elemental-Live_48.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaConnect_48.png
        │   │   │   ├── Arch_AWS-Elemental-MediaConnect_48.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaConvert_48.png
        │   │   │   ├── Arch_AWS-Elemental-MediaConvert_48.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaLive_48.png
        │   │   │   ├── Arch_AWS-Elemental-MediaLive_48.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaPackage_48.png
        │   │   │   ├── Arch_AWS-Elemental-MediaPackage_48.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaStore_48.png
        │   │   │   ├── Arch_AWS-Elemental-MediaStore_48.svg
        │   │   │   ├── Arch_AWS-Elemental-MediaTailor_48.png
        │   │   │   ├── Arch_AWS-Elemental-MediaTailor_48.svg
        │   │   │   ├── Arch_AWS-Elemental-Server_48.png
        │   │   │   ├── Arch_AWS-Elemental-Server_48.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Deadline_48.png
        │   │   │   ├── Arch_AWS-Thinkbox-Deadline_48.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Frost_48.png
        │   │   │   ├── Arch_AWS-Thinkbox-Frost_48.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Krakatoa_48.png
        │   │   │   ├── Arch_AWS-Thinkbox-Krakatoa_48.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Sequoia_48.png
        │   │   │   ├── Arch_AWS-Thinkbox-Sequoia_48.svg
        │   │   │   ├── Arch_AWS-Thinkbox-Stoke_48.png
        │   │   │   ├── Arch_AWS-Thinkbox-Stoke_48.svg
        │   │   │   ├── Arch_AWS-Thinkbox-XMesh_48.png
        │   │   │   └── Arch_AWS-Thinkbox-XMesh_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_Amazon-Elastic-Transcoder_64.png
        │   │       ├── Arch_Amazon-Elastic-Transcoder_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Interactive-Video-Service_64.png
        │   │       ├── Arch_Amazon-Interactive-Video-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Kinesis-Video-Streams_64.png
        │   │       ├── Arch_Amazon-Kinesis-Video-Streams_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Deadline-Cloud_64.png
        │   │       ├── Arch_AWS-Deadline-Cloud_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-Appliances-&-Software_64.png
        │   │       ├── Arch_AWS-Elemental-Appliances-&-Software_64.svg
        │   │       ├── Arch_AWS-Elemental-Appliances-&[email protected]
        │   │       ├── Arch_AWS-Elemental-Conductor_64.png
        │   │       ├── Arch_AWS-Elemental-Conductor_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-Delta_64.png
        │   │       ├── Arch_AWS-Elemental-Delta_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-Link_64.png
        │   │       ├── Arch_AWS-Elemental-Link_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-Live_64.png
        │   │       ├── Arch_AWS-Elemental-Live_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-MediaConnect_64.png
        │   │       ├── Arch_AWS-Elemental-MediaConnect_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-MediaConvert_64.png
        │   │       ├── Arch_AWS-Elemental-MediaConvert_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-MediaLive_64.png
        │   │       ├── Arch_AWS-Elemental-MediaLive_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-MediaPackage_64.png
        │   │       ├── Arch_AWS-Elemental-MediaPackage_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-MediaStore_64.png
        │   │       ├── Arch_AWS-Elemental-MediaStore_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-MediaTailor_64.png
        │   │       ├── Arch_AWS-Elemental-MediaTailor_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Elemental-Server_64.png
        │   │       ├── Arch_AWS-Elemental-Server_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Thinkbox-Deadline_64.png
        │   │       ├── Arch_AWS-Thinkbox-Deadline_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Thinkbox-Frost_64.png
        │   │       ├── Arch_AWS-Thinkbox-Frost_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Thinkbox-Krakatoa_64.png
        │   │       ├── Arch_AWS-Thinkbox-Krakatoa_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Thinkbox-Sequoia_64.png
        │   │       ├── Arch_AWS-Thinkbox-Sequoia_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Thinkbox-Stoke_64.png
        │   │       ├── Arch_AWS-Thinkbox-Stoke_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Thinkbox-XMesh_64.png
        │   │       ├── Arch_AWS-Thinkbox-XMesh_64.svg
        │   │       └── [email protected]
        │   ├── migration-modernization
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_AWS-Application-Discovery-Service_16.png
        │   │   │   ├── Arch_AWS-Application-Discovery-Service_16.svg
        │   │   │   ├── Arch_AWS-Application-Migration-Service_16.png
        │   │   │   ├── Arch_AWS-Application-Migration-Service_16.svg
        │   │   │   ├── Arch_AWS-Data-Transfer-Terminal_16.png
        │   │   │   ├── Arch_AWS-Data-Transfer-Terminal_16.svg
        │   │   │   ├── Arch_AWS-DataSync_16.png
        │   │   │   ├── Arch_AWS-DataSync_16.svg
        │   │   │   ├── Arch_AWS-Mainframe-Modernization_16.png
        │   │   │   ├── Arch_AWS-Mainframe-Modernization_16.svg
        │   │   │   ├── Arch_AWS-Migration-Evaluator_16.png
        │   │   │   ├── Arch_AWS-Migration-Evaluator_16.svg
        │   │   │   ├── Arch_AWS-Migration-Hub_16.png
        │   │   │   ├── Arch_AWS-Migration-Hub_16.svg
        │   │   │   ├── Arch_AWS-Transfer-Family_16.png
        │   │   │   ├── Arch_AWS-Transfer-Family_16.svg
        │   │   │   ├── Arch_AWS-Transform_16.png
        │   │   │   └── Arch_AWS-Transform_16.svg
        │   │   ├── 32
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_AWS-Application-Discovery-Service_32.png
        │   │   │   ├── Arch_AWS-Application-Discovery-Service_32.svg
        │   │   │   ├── Arch_AWS-Application-Migration-Service_32.png
        │   │   │   ├── Arch_AWS-Application-Migration-Service_32.svg
        │   │   │   ├── Arch_AWS-Data-Transfer-Terminal_32.png
        │   │   │   ├── Arch_AWS-Data-Transfer-Terminal_32.svg
        │   │   │   ├── Arch_AWS-DataSync_32.png
        │   │   │   ├── Arch_AWS-DataSync_32.svg
        │   │   │   ├── Arch_AWS-Mainframe-Modernization_32.png
        │   │   │   ├── Arch_AWS-Mainframe-Modernization_32.svg
        │   │   │   ├── Arch_AWS-Migration-Evaluator_32.png
        │   │   │   ├── Arch_AWS-Migration-Evaluator_32.svg
        │   │   │   ├── Arch_AWS-Migration-Hub_32.png
        │   │   │   ├── Arch_AWS-Migration-Hub_32.svg
        │   │   │   ├── Arch_AWS-Transfer-Family_32.png
        │   │   │   ├── Arch_AWS-Transfer-Family_32.svg
        │   │   │   ├── Arch_AWS-Transform_32.png
        │   │   │   └── Arch_AWS-Transform_32.svg
        │   │   ├── 48
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_AWS-Application-Discovery-Service_48.png
        │   │   │   ├── Arch_AWS-Application-Discovery-Service_48.svg
        │   │   │   ├── Arch_AWS-Application-Migration-Service_48.png
        │   │   │   ├── Arch_AWS-Application-Migration-Service_48.svg
        │   │   │   ├── Arch_AWS-Data-Transfer-Terminal_48.png
        │   │   │   ├── Arch_AWS-Data-Transfer-Terminal_48.svg
        │   │   │   ├── Arch_AWS-DataSync_48.png
        │   │   │   ├── Arch_AWS-DataSync_48.svg
        │   │   │   ├── Arch_AWS-Mainframe-Modernization_48.png
        │   │   │   ├── Arch_AWS-Mainframe-Modernization_48.svg
        │   │   │   ├── Arch_AWS-Migration-Evaluator_48.png
        │   │   │   ├── Arch_AWS-Migration-Evaluator_48.svg
        │   │   │   ├── Arch_AWS-Migration-Hub_48.png
        │   │   │   ├── Arch_AWS-Migration-Hub_48.svg
        │   │   │   ├── Arch_AWS-Transfer-Family_48.png
        │   │   │   ├── Arch_AWS-Transfer-Family_48.svg
        │   │   │   ├── Arch_AWS-Transform_48.png
        │   │   │   └── Arch_AWS-Transform_48.svg
        │   │   └── 64
        │   │       ├── .DS_Store
        │   │       ├── Arch_AWS-Application-Discovery-Service_64.png
        │   │       ├── Arch_AWS-Application-Discovery-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Application-Migration-Service_64.png
        │   │       ├── Arch_AWS-Application-Migration-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Data-Transfer-Terminal_64.png
        │   │       ├── Arch_AWS-Data-Transfer-Terminal_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-DataSync_64.png
        │   │       ├── Arch_AWS-DataSync_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Mainframe-Modernization_64.png
        │   │       ├── Arch_AWS-Mainframe-Modernization_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Migration-Evaluator_64.png
        │   │       ├── Arch_AWS-Migration-Evaluator_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Migration-Hub_64.png
        │   │       ├── Arch_AWS-Migration-Hub_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Transfer-Family_64.png
        │   │       ├── Arch_AWS-Transfer-Family_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Transform_64.png
        │   │       ├── Arch_AWS-Transform_64.svg
        │   │       └── [email protected]
        │   ├── networking-content-delivery
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── .DS_Store
        │   │   │   ├── Arch_Amazon-API-Gateway_16.png
        │   │   │   ├── Arch_Amazon-API-Gateway_16.svg
        │   │   │   ├── Arch_Amazon-Application-Recovery-Controller_16.png
        │   │   │   ├── Arch_Amazon-Application-Recovery-Controller_16.svg
        │   │   │   ├── Arch_Amazon-CloudFront_16.png
        │   │   │   ├── Arch_Amazon-CloudFront_16.svg
        │   │   │   ├── Arch_Amazon-Route-53_16.png
        │   │   │   ├── Arch_Amazon-Route-53_16.svg
        │   │   │   ├── Arch_Amazon-Virtual-Private-Cloud_16.png
        │   │   │   ├── Arch_Amazon-Virtual-Private-Cloud_16.svg
        │   │   │   ├── Arch_Amazon-VPC-Lattice_16.png
        │   │   │   ├── Arch_Amazon-VPC-Lattice_16.svg
        │   │   │   ├── Arch_AWS-App-Mesh_16.png
        │   │   │   ├── Arch_AWS-App-Mesh_16.svg
        │   │   │   ├── Arch_AWS-Client-VPN_16.png
        │   │   │   ├── Arch_AWS-Client-VPN_16.svg
        │   │   │   ├── Arch_AWS-Cloud-Map_16.png
        │   │   │   ├── Arch_AWS-Cloud-Map_16.svg
        │   │   │   ├── Arch_AWS-Cloud-WAN_16.png
        │   │   │   ├── Arch_AWS-Cloud-WAN_16.svg
        │   │   │   ├── Arch_AWS-Direct-Connect_16.png
        │   │   │   ├── Arch_AWS-Direct-Connect_16.svg
        │   │   │   ├── Arch_AWS-Global-Accelerator_16.png
        │   │   │   ├── Arch_AWS-Global-Accelerator_16.svg
        │   │   │   ├── Arch_AWS-Private-5G_16.png
        │   │   │   ├── Arch_AWS-Private-5G_16.svg
        │   │   │   ├── Arch_AWS-PrivateLink_16.png
        │   │   │   ├── Arch_AWS-PrivateLink_16.svg
        │   │   │   ├── Arch_AWS-Site-to-Site-VPN_16.png
        │   │   │   ├── Arch_AWS-Site-to-Site-VPN_16.svg
        │   │   │   ├── Arch_AWS-Transit-Gateway_16.png
        │   │   │   ├── Arch_AWS-Transit-Gateway_16.svg
        │   │   │   ├── Arch_AWS-Verified-Access_16.png
        │   │   │   ├── Arch_AWS-Verified-Access_16.svg
        │   │   │   ├── Arch_Elastic-Load-Balancing_16.png
        │   │   │   └── Arch_Elastic-Load-Balancing_16.svg
        │   │   ├── 32
        │   │   │   ├── Arch_Amazon-API-Gateway_32.png
        │   │   │   ├── Arch_Amazon-API-Gateway_32.svg
        │   │   │   ├── Arch_Amazon-Application-Recovery-Controller_32.png
        │   │   │   ├── Arch_Amazon-Application-Recovery-Controller_32.svg
        │   │   │   ├── Arch_Amazon-CloudFront_32.png
        │   │   │   ├── Arch_Amazon-CloudFront_32.svg
        │   │   │   ├── Arch_Amazon-Route-53_32.png
        │   │   │   ├── Arch_Amazon-Route-53_32.svg
        │   │   │   ├── Arch_Amazon-Virtual-Private-Cloud_32.png
        │   │   │   ├── Arch_Amazon-Virtual-Private-Cloud_32.svg
        │   │   │   ├── Arch_Amazon-VPC-Lattice_32.png
        │   │   │   ├── Arch_Amazon-VPC-Lattice_32.svg
        │   │   │   ├── Arch_AWS-App-Mesh_32.png
        │   │   │   ├── Arch_AWS-App-Mesh_32.svg
        │   │   │   ├── Arch_AWS-Client-VPN_32.png
        │   │   │   ├── Arch_AWS-Client-VPN_32.svg
        │   │   │   ├── Arch_AWS-Cloud-Map_32.png
        │   │   │   ├── Arch_AWS-Cloud-Map_32.svg
        │   │   │   ├── Arch_AWS-Cloud-WAN_32.png
        │   │   │   ├── Arch_AWS-Cloud-WAN_32.svg
        │   │   │   ├── Arch_AWS-Direct-Connect_32.png
        │   │   │   ├── Arch_AWS-Direct-Connect_32.svg
        │   │   │   ├── Arch_AWS-Global-Accelerator_32.png
        │   │   │   ├── Arch_AWS-Global-Accelerator_32.svg
        │   │   │   ├── Arch_AWS-Private-5G_32.png
        │   │   │   ├── Arch_AWS-Private-5G_32.svg
        │   │   │   ├── Arch_AWS-PrivateLink_32.png
        │   │   │   ├── Arch_AWS-PrivateLink_32.svg
        │   │   │   ├── Arch_AWS-Site-to-Site-VPN_32.png
        │   │   │   ├── Arch_AWS-Site-to-Site-VPN_32.svg
        │   │   │   ├── Arch_AWS-Transit-Gateway_32.png
        │   │   │   ├── Arch_AWS-Transit-Gateway_32.svg
        │   │   │   ├── Arch_AWS-Verified-Access_32.png
        │   │   │   ├── Arch_AWS-Verified-Access_32.svg
        │   │   │   ├── Arch_Elastic-Load-Balancing_32.png
        │   │   │   └── Arch_Elastic-Load-Balancing_32.svg
        │   │   ├── 48
        │   │   │   ├── Arch_Amazon-API-Gateway_48.png
        │   │   │   ├── Arch_Amazon-API-Gateway_48.svg
        │   │   │   ├── Arch_Amazon-Application-Recovery-Controller_48.png
        │   │   │   ├── Arch_Amazon-Application-Recovery-Controller_48.svg
        │   │   │   ├── Arch_Amazon-CloudFront_48.png
        │   │   │   ├── Arch_Amazon-CloudFront_48.svg
        │   │   │   ├── Arch_Amazon-Route-53_48.png
        │   │   │   ├── Arch_Amazon-Route-53_48.svg
        │   │   │   ├── Arch_Amazon-Virtual-Private-Cloud_48.png
        │   │   │   ├── Arch_Amazon-Virtual-Private-Cloud_48.svg
        │   │   │   ├── Arch_Amazon-VPC-Lattice_48.png
        │   │   │   ├── Arch_Amazon-VPC-Lattice_48.svg
        │   │   │   ├── Arch_AWS-App-Mesh_48.png
        │   │   │   ├── Arch_AWS-App-Mesh_48.svg
        │   │   │   ├── Arch_AWS-Client-VPN_48.png
        │   │   │   ├── Arch_AWS-Client-VPN_48.svg
        │   │   │   ├── Arch_AWS-Cloud-Map_48.png
        │   │   │   ├── Arch_AWS-Cloud-Map_48.svg
        │   │   │   ├── Arch_AWS-Cloud-WAN_48.png
        │   │   │   ├── Arch_AWS-Cloud-WAN_48.svg
        │   │   │   ├── Arch_AWS-Direct-Connect_48.png
        │   │   │   ├── Arch_AWS-Direct-Connect_48.svg
        │   │   │   ├── Arch_AWS-Global-Accelerator_48.png
        │   │   │   ├── Arch_AWS-Global-Accelerator_48.svg
        │   │   │   ├── Arch_AWS-Private-5G_48.png
        │   │   │   ├── Arch_AWS-Private-5G_48.svg
        │   │   │   ├── Arch_AWS-PrivateLink_48.png
        │   │   │   ├── Arch_AWS-PrivateLink_48.svg
        │   │   │   ├── Arch_AWS-Site-to-Site-VPN_48.png
        │   │   │   ├── Arch_AWS-Site-to-Site-VPN_48.svg
        │   │   │   ├── Arch_AWS-Transit-Gateway_48.png
        │   │   │   ├── Arch_AWS-Transit-Gateway_48.svg
        │   │   │   ├── Arch_AWS-Verified-Access_48.png
        │   │   │   ├── Arch_AWS-Verified-Access_48.svg
        │   │   │   ├── Arch_Elastic-Load-Balancing_48.png
        │   │   │   └── Arch_Elastic-Load-Balancing_48.svg
        │   │   └── 64
        │   │       ├── Arch_Amazon-API-Gateway_64.png
        │   │       ├── Arch_Amazon-API-Gateway_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Application-Recovery-Controller_64.png
        │   │       ├── Arch_Amazon-Application-Recovery-Controller_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-CloudFront_64.png
        │   │       ├── Arch_Amazon-CloudFront_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Route-53_64.png
        │   │       ├── Arch_Amazon-Route-53_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Virtual-Private-Cloud_64.png
        │   │       ├── Arch_Amazon-Virtual-Private-Cloud_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-VPC-Lattice_64.png
        │   │       ├── Arch_Amazon-VPC-Lattice_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-App-Mesh_64.png
        │   │       ├── Arch_AWS-App-Mesh_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Client-VPN_64.png
        │   │       ├── Arch_AWS-Client-VPN_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Cloud-Map_64.png
        │   │       ├── Arch_AWS-Cloud-Map_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Cloud-WAN_64.png
        │   │       ├── Arch_AWS-Cloud-WAN_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Direct-Connect_64.png
        │   │       ├── Arch_AWS-Direct-Connect_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Global-Accelerator_64.png
        │   │       ├── Arch_AWS-Global-Accelerator_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Private-5G_64.png
        │   │       ├── Arch_AWS-Private-5G_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-PrivateLink_64.png
        │   │       ├── Arch_AWS-PrivateLink_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Site-to-Site-VPN_64.png
        │   │       ├── Arch_AWS-Site-to-Site-VPN_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Transit-Gateway_64.png
        │   │       ├── Arch_AWS-Transit-Gateway_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Verified-Access_64.png
        │   │       ├── Arch_AWS-Verified-Access_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Elastic-Load-Balancing_64.png
        │   │       ├── Arch_Elastic-Load-Balancing_64.svg
        │   │       └── [email protected]
        │   ├── quantum-technologies
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── Arch_Amazon-Braket_16.png
        │   │   │   └── Arch_Amazon-Braket_16.svg
        │   │   ├── 32
        │   │   │   ├── Arch_Amazon-Braket_32.png
        │   │   │   └── Arch_Amazon-Braket_32.svg
        │   │   ├── 48
        │   │   │   ├── Arch_Amazon-Braket_48.png
        │   │   │   └── Arch_Amazon-Braket_48.svg
        │   │   └── 64
        │   │       ├── Arch_Amazon-Braket_64.png
        │   │       ├── Arch_Amazon-Braket_64.svg
        │   │       └── [email protected]
        │   ├── satellite
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── Arch_AWS-Ground-Station_16.png
        │   │   │   └── Arch_AWS-Ground-Station_16.svg
        │   │   ├── 32
        │   │   │   ├── Arch_AWS-Ground-Station_32.png
        │   │   │   └── Arch_AWS-Ground-Station_32.svg
        │   │   ├── 48
        │   │   │   ├── Arch_AWS-Ground-Station_48.png
        │   │   │   └── Arch_AWS-Ground-Station_48.svg
        │   │   └── 64
        │   │       ├── Arch_AWS-Ground-Station_64.png
        │   │       ├── Arch_AWS-Ground-Station_64.svg
        │   │       └── [email protected]
        │   ├── security-identity-compliance
        │   │   ├── .DS_Store
        │   │   ├── 16
        │   │   │   ├── Arch_Amazon-Cloud-Directory_16.png
        │   │   │   ├── Arch_Amazon-Cloud-Directory_16.svg
        │   │   │   ├── Arch_Amazon-Cognito_16.png
        │   │   │   ├── Arch_Amazon-Cognito_16.svg
        │   │   │   ├── Arch_Amazon-Detective_16.png
        │   │   │   ├── Arch_Amazon-Detective_16.svg
        │   │   │   ├── Arch_Amazon-GuardDuty_16.png
        │   │   │   ├── Arch_Amazon-GuardDuty_16.svg
        │   │   │   ├── Arch_Amazon-Inspector_16.png
        │   │   │   ├── Arch_Amazon-Inspector_16.svg
        │   │   │   ├── Arch_Amazon-Macie_16.png
        │   │   │   ├── Arch_Amazon-Macie_16.svg
        │   │   │   ├── Arch_Amazon-Security-Lake_16.png
        │   │   │   ├── Arch_Amazon-Security-Lake_16.svg
        │   │   │   ├── Arch_Amazon-Verified-Permissions_16.png
        │   │   │   ├── Arch_Amazon-Verified-Permissions_16.svg
        │   │   │   ├── Arch_AWS-Artifact_16.png
        │   │   │   ├── Arch_AWS-Artifact_16.svg
        │   │   │   ├── Arch_AWS-Audit-Manager_16.png
        │   │   │   ├── Arch_AWS-Audit-Manager_16.svg
        │   │   │   ├── Arch_AWS-Certificate-Manager_16.png
        │   │   │   ├── Arch_AWS-Certificate-Manager_16.svg
        │   │   │   ├── Arch_AWS-CloudHSM_16.png
        │   │   │   ├── Arch_AWS-CloudHSM_16.svg
        │   │   │   ├── Arch_AWS-Directory-Service_16.png
        │   │   │   ├── Arch_AWS-Directory-Service_16.svg
        │   │   │   ├── Arch_AWS-Firewall-Manager_16.png
        │   │   │   ├── Arch_AWS-Firewall-Manager_16.svg
        │   │   │   ├── Arch_AWS-IAM-Identity-Center_16.png
        │   │   │   ├── Arch_AWS-IAM-Identity-Center_16.svg
        │   │   │   ├── Arch_AWS-Identity-and-Access-Management_16.png
        │   │   │   ├── Arch_AWS-Identity-and-Access-Management_16.svg
        │   │   │   ├── Arch_AWS-Key-Management-Service_16.png
        │   │   │   ├── Arch_AWS-Key-Management-Service_16.svg
        │   │   │   ├── Arch_AWS-Network-Firewall_16.png
        │   │   │   ├── Arch_AWS-Network-Firewall_16.svg
        │   │   │   ├── Arch_AWS-Payment-Cryptography_16.png
        │   │   │   ├── Arch_AWS-Payment-Cryptography_16.svg
        │   │   │   ├── Arch_AWS-Private-Certificate-Authority_16.png
        │   │   │   ├── Arch_AWS-Private-Certificate-Authority_16.svg
        │   │   │   ├── Arch_AWS-Resource-Access-Manager_16.png
        │   │   │   ├── Arch_AWS-Resource-Access-Manager_16.svg
        │   │   │   ├── Arch_AWS-Secrets-Manager_16.png
        │   │   │   ├── Arch_AWS-Secrets-Manager_16.svg
        │   │   │   ├── Arch_AWS-Security-Hub_16.png
        │   │   │   ├── Arch_AWS-Security-Hub_16.svg
        │   │   │   ├── Arch_AWS-Security-Incident-Response_16.png
        │   │   │   ├── Arch_AWS-Security-Incident-Response_16.svg
        │   │   │   ├── Arch_AWS-Shield_16.png
        │   │   │   ├── Arch_AWS-Shield_16.svg
        │   │   │   ├── Arch_AWS-Signer_16.png
        │   │   │   ├── Arch_AWS-Signer_16.svg
        │   │   │   ├── Arch_AWS-WAF_16.png
        │   │   │   └── Arch_AWS-WAF_16.svg
        │   │   ├── 32
        │   │   │   ├── Arch_Amazon-Cloud-Directory_32.png
        │   │   │   ├── Arch_Amazon-Cloud-Directory_32.svg
        │   │   │   ├── Arch_Amazon-Cognito_32.png
        │   │   │   ├── Arch_Amazon-Cognito_32.svg
        │   │   │   ├── Arch_Amazon-Detective_32.png
        │   │   │   ├── Arch_Amazon-Detective_32.svg
        │   │   │   ├── Arch_Amazon-GuardDuty_32.png
        │   │   │   ├── Arch_Amazon-GuardDuty_32.svg
        │   │   │   ├── Arch_Amazon-Inspector_32.png
        │   │   │   ├── Arch_Amazon-Inspector_32.svg
        │   │   │   ├── Arch_Amazon-Macie_32.png
        │   │   │   ├── Arch_Amazon-Macie_32.svg
        │   │   │   ├── Arch_Amazon-Security-Lake_32.png
        │   │   │   ├── Arch_Amazon-Security-Lake_32.svg
        │   │   │   ├── Arch_Amazon-Verified-Permissions_32.png
        │   │   │   ├── Arch_Amazon-Verified-Permissions_32.svg
        │   │   │   ├── Arch_AWS-Artifact_32.png
        │   │   │   ├── Arch_AWS-Artifact_32.svg
        │   │   │   ├── Arch_AWS-Audit-Manager_32.png
        │   │   │   ├── Arch_AWS-Audit-Manager_32.svg
        │   │   │   ├── Arch_AWS-Certificate-Manager_32.png
        │   │   │   ├── Arch_AWS-Certificate-Manager_32.svg
        │   │   │   ├── Arch_AWS-CloudHSM_32.png
        │   │   │   ├── Arch_AWS-CloudHSM_32.svg
        │   │   │   ├── Arch_AWS-Directory-Service_32.png
        │   │   │   ├── Arch_AWS-Directory-Service_32.svg
        │   │   │   ├── Arch_AWS-Firewall-Manager_32.png
        │   │   │   ├── Arch_AWS-Firewall-Manager_32.svg
        │   │   │   ├── Arch_AWS-IAM-Identity-Center_32.png
        │   │   │   ├── Arch_AWS-IAM-Identity-Center_32.svg
        │   │   │   ├── Arch_AWS-Identity-and-Access-Management_32.png
        │   │   │   ├── Arch_AWS-Identity-and-Access-Management_32.svg
        │   │   │   ├── Arch_AWS-Key-Management-Service_32.png
        │   │   │   ├── Arch_AWS-Key-Management-Service_32.svg
        │   │   │   ├── Arch_AWS-Network-Firewall_32.png
        │   │   │   ├── Arch_AWS-Network-Firewall_32.svg
        │   │   │   ├── Arch_AWS-Payment-Cryptography_32.png
        │   │   │   ├── Arch_AWS-Payment-Cryptography_32.svg
        │   │   │   ├── Arch_AWS-Private-Certificate-Authority_32.png
        │   │   │   ├── Arch_AWS-Private-Certificate-Authority_32.svg
        │   │   │   ├── Arch_AWS-Resource-Access-Manager_32.png
        │   │   │   ├── Arch_AWS-Resource-Access-Manager_32.svg
        │   │   │   ├── Arch_AWS-Secrets-Manager_32.png
        │   │   │   ├── Arch_AWS-Secrets-Manager_32.svg
        │   │   │   ├── Arch_AWS-Security-Hub_32.png
        │   │   │   ├── Arch_AWS-Security-Hub_32.svg
        │   │   │   ├── Arch_AWS-Security-Incident-Response_32.png
        │   │   │   ├── Arch_AWS-Security-Incident-Response_32.svg
        │   │   │   ├── Arch_AWS-Shield_32.png
        │   │   │   ├── Arch_AWS-Shield_32.svg
        │   │   │   ├── Arch_AWS-Signer_32.png
        │   │   │   ├── Arch_AWS-Signer_32.svg
        │   │   │   ├── Arch_AWS-WAF_32.png
        │   │   │   └── Arch_AWS-WAF_32.svg
        │   │   ├── 48
        │   │   │   ├── Arch_Amazon-Cloud-Directory_48.png
        │   │   │   ├── Arch_Amazon-Cloud-Directory_48.svg
        │   │   │   ├── Arch_Amazon-Cognito_48.png
        │   │   │   ├── Arch_Amazon-Cognito_48.svg
        │   │   │   ├── Arch_Amazon-Detective_48.png
        │   │   │   ├── Arch_Amazon-Detective_48.svg
        │   │   │   ├── Arch_Amazon-GuardDuty_48.png
        │   │   │   ├── Arch_Amazon-GuardDuty_48.svg
        │   │   │   ├── Arch_Amazon-Inspector_48.png
        │   │   │   ├── Arch_Amazon-Inspector_48.svg
        │   │   │   ├── Arch_Amazon-Macie_48.png
        │   │   │   ├── Arch_Amazon-Macie_48.svg
        │   │   │   ├── Arch_Amazon-Security-Lake_48.png
        │   │   │   ├── Arch_Amazon-Security-Lake_48.svg
        │   │   │   ├── Arch_Amazon-Verified-Permissions_48.png
        │   │   │   ├── Arch_Amazon-Verified-Permissions_48.svg
        │   │   │   ├── Arch_AWS-Artifact_48.png
        │   │   │   ├── Arch_AWS-Artifact_48.svg
        │   │   │   ├── Arch_AWS-Audit-Manager_48.png
        │   │   │   ├── Arch_AWS-Audit-Manager_48.svg
        │   │   │   ├── Arch_AWS-Certificate-Manager_48.png
        │   │   │   ├── Arch_AWS-Certificate-Manager_48.svg
        │   │   │   ├── Arch_AWS-CloudHSM_48.png
        │   │   │   ├── Arch_AWS-CloudHSM_48.svg
        │   │   │   ├── Arch_AWS-Directory-Service_48.png
        │   │   │   ├── Arch_AWS-Directory-Service_48.svg
        │   │   │   ├── Arch_AWS-Firewall-Manager_48.png
        │   │   │   ├── Arch_AWS-Firewall-Manager_48.svg
        │   │   │   ├── Arch_AWS-IAM-Identity-Center_48.png
        │   │   │   ├── Arch_AWS-IAM-Identity-Center_48.svg
        │   │   │   ├── Arch_AWS-Identity-and-Access-Management_48.png
        │   │   │   ├── Arch_AWS-Identity-and-Access-Management_48.svg
        │   │   │   ├── Arch_AWS-Key-Management-Service_48.png
        │   │   │   ├── Arch_AWS-Key-Management-Service_48.svg
        │   │   │   ├── Arch_AWS-Network-Firewall_48.png
        │   │   │   ├── Arch_AWS-Network-Firewall_48.svg
        │   │   │   ├── Arch_AWS-Payment-Cryptography_48.png
        │   │   │   ├── Arch_AWS-Payment-Cryptography_48.svg
        │   │   │   ├── Arch_AWS-Private-Certificate-Authority_48.png
        │   │   │   ├── Arch_AWS-Private-Certificate-Authority_48.svg
        │   │   │   ├── Arch_AWS-Resource-Access-Manager_48.png
        │   │   │   ├── Arch_AWS-Resource-Access-Manager_48.svg
        │   │   │   ├── Arch_AWS-Secrets-Manager_48.png
        │   │   │   ├── Arch_AWS-Secrets-Manager_48.svg
        │   │   │   ├── Arch_AWS-Security-Hub_48.png
        │   │   │   ├── Arch_AWS-Security-Hub_48.svg
        │   │   │   ├── Arch_AWS-Security-Incident-Response_48.png
        │   │   │   ├── Arch_AWS-Security-Incident-Response_48.svg
        │   │   │   ├── Arch_AWS-Shield_48.png
        │   │   │   ├── Arch_AWS-Shield_48.svg
        │   │   │   ├── Arch_AWS-Signer_48.png
        │   │   │   ├── Arch_AWS-Signer_48.svg
        │   │   │   ├── Arch_AWS-WAF_48.png
        │   │   │   └── Arch_AWS-WAF_48.svg
        │   │   └── 64
        │   │       ├── Arch_Amazon-Cloud-Directory_64.png
        │   │       ├── Arch_Amazon-Cloud-Directory_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Cognito_64.png
        │   │       ├── Arch_Amazon-Cognito_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Detective_64.png
        │   │       ├── Arch_Amazon-Detective_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-GuardDuty_64.png
        │   │       ├── Arch_Amazon-GuardDuty_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Inspector_64.png
        │   │       ├── Arch_Amazon-Inspector_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Macie_64.png
        │   │       ├── Arch_Amazon-Macie_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Security-Lake_64.png
        │   │       ├── Arch_Amazon-Security-Lake_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_Amazon-Verified-Permissions_64.png
        │   │       ├── Arch_Amazon-Verified-Permissions_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Artifact_64.png
        │   │       ├── Arch_AWS-Artifact_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Audit-Manager_64.png
        │   │       ├── Arch_AWS-Audit-Manager_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Certificate-Manager_64.png
        │   │       ├── Arch_AWS-Certificate-Manager_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-CloudHSM_64.png
        │   │       ├── Arch_AWS-CloudHSM_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Directory-Service_64.png
        │   │       ├── Arch_AWS-Directory-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Firewall-Manager_64.png
        │   │       ├── Arch_AWS-Firewall-Manager_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-IAM-Identity-Center_64.png
        │   │       ├── Arch_AWS-IAM-Identity-Center_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Identity-and-Access-Management_64.png
        │   │       ├── Arch_AWS-Identity-and-Access-Management_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Key-Management-Service_64.png
        │   │       ├── Arch_AWS-Key-Management-Service_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Network-Firewall_64.png
        │   │       ├── Arch_AWS-Network-Firewall_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Payment-Cryptography_64.png
        │   │       ├── Arch_AWS-Payment-Cryptography_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Private-Certificate-Authority_64.png
        │   │       ├── Arch_AWS-Private-Certificate-Authority_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Resource-Access-Manager_64.png
        │   │       ├── Arch_AWS-Resource-Access-Manager_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Secrets-Manager_64.png
        │   │       ├── Arch_AWS-Secrets-Manager_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Security-Hub_64.png
        │   │       ├── Arch_AWS-Security-Hub_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Security-Incident-Response_64.png
        │   │       ├── Arch_AWS-Security-Incident-Response_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Shield_64.png
        │   │       ├── Arch_AWS-Shield_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-Signer_64.png
        │   │       ├── Arch_AWS-Signer_64.svg
        │   │       ├── [email protected]
        │   │       ├── Arch_AWS-WAF_64.png
        │   │       ├── Arch_AWS-WAF_64.svg
        │   │       └── [email protected]
        │   └── storage
        │       ├── .DS_Store
        │       ├── 16
        │       │   ├── .DS_Store
        │       │   ├── Arch_Amazon-EFS_16.png
        │       │   ├── Arch_Amazon-EFS_16.svg
        │       │   ├── Arch_Amazon-Elastic-Block-Store_16.png
        │       │   ├── Arch_Amazon-Elastic-Block-Store_16.svg
        │       │   ├── Arch_Amazon-File-Cache_16.png
        │       │   ├── Arch_Amazon-File-Cache_16.svg
        │       │   ├── Arch_Amazon-FSx_16.png
        │       │   ├── Arch_Amazon-FSx_16.svg
        │       │   ├── Arch_Amazon-FSx-for-Lustre_16.png
        │       │   ├── Arch_Amazon-FSx-for-Lustre_16.svg
        │       │   ├── Arch_Amazon-FSx-for-NetApp-ONTAP_16.png
        │       │   ├── Arch_Amazon-FSx-for-NetApp-ONTAP_16.svg
        │       │   ├── Arch_Amazon-FSx-for-OpenZFS_16.png
        │       │   ├── Arch_Amazon-FSx-for-OpenZFS_16.svg
        │       │   ├── Arch_Amazon-FSx-for-WFS_16.png
        │       │   ├── Arch_Amazon-FSx-for-WFS_16.svg
        │       │   ├── Arch_Amazon-S3-on-Outposts_16.png
        │       │   ├── Arch_Amazon-S3-on-Outposts_16.svg
        │       │   ├── Arch_Amazon-Simple-Storage-Service_16.png
        │       │   ├── Arch_Amazon-Simple-Storage-Service_16.svg
        │       │   ├── Arch_Amazon-Simple-Storage-Service-Glacier_16.png
        │       │   ├── Arch_Amazon-Simple-Storage-Service-Glacier_16.svg
        │       │   ├── Arch_AWS-Backup_16.png
        │       │   ├── Arch_AWS-Backup_16.svg
        │       │   ├── Arch_AWS-Elastic-Disaster-Recovery_16.png
        │       │   ├── Arch_AWS-Elastic-Disaster-Recovery_16.svg
        │       │   ├── Arch_AWS-Snowball_16.png
        │       │   ├── Arch_AWS-Snowball_16.svg
        │       │   ├── Arch_AWS-Snowball-Edge_16.png
        │       │   ├── Arch_AWS-Snowball-Edge_16.svg
        │       │   ├── Arch_AWS-Storage-Gateway_16.png
        │       │   └── Arch_AWS-Storage-Gateway_16.svg
        │       ├── 32
        │       │   ├── .DS_Store
        │       │   ├── Arch_Amazon-EFS_32.png
        │       │   ├── Arch_Amazon-EFS_32.svg
        │       │   ├── Arch_Amazon-Elastic-Block-Store_32.png
        │       │   ├── Arch_Amazon-Elastic-Block-Store_32.svg
        │       │   ├── Arch_Amazon-File-Cache_32.png
        │       │   ├── Arch_Amazon-File-Cache_32.svg
        │       │   ├── Arch_Amazon-FSx_32.png
        │       │   ├── Arch_Amazon-FSx_32.svg
        │       │   ├── Arch_Amazon-FSx-for-Lustre_32.png
        │       │   ├── Arch_Amazon-FSx-for-Lustre_32.svg
        │       │   ├── Arch_Amazon-FSx-for-NetApp-ONTAP_32.png
        │       │   ├── Arch_Amazon-FSx-for-NetApp-ONTAP_32.svg
        │       │   ├── Arch_Amazon-FSx-for-OpenZFS_32.png
        │       │   ├── Arch_Amazon-FSx-for-OpenZFS_32.svg
        │       │   ├── Arch_Amazon-FSx-for-WFS_32.png
        │       │   ├── Arch_Amazon-FSx-for-WFS_32.svg
        │       │   ├── Arch_Amazon-S3-on-Outposts_32.png
        │       │   ├── Arch_Amazon-S3-on-Outposts_32.svg
        │       │   ├── Arch_Amazon-Simple-Storage-Service_32.png
        │       │   ├── Arch_Amazon-Simple-Storage-Service_32.svg
        │       │   ├── Arch_Amazon-Simple-Storage-Service-Glacier_32.png
        │       │   ├── Arch_Amazon-Simple-Storage-Service-Glacier_32.svg
        │       │   ├── Arch_AWS-Backup_32.png
        │       │   ├── Arch_AWS-Backup_32.svg
        │       │   ├── Arch_AWS-Elastic-Disaster-Recovery_32.png
        │       │   ├── Arch_AWS-Elastic-Disaster-Recovery_32.svg
        │       │   ├── Arch_AWS-Snowball_32.png
        │       │   ├── Arch_AWS-Snowball_32.svg
        │       │   ├── Arch_AWS-Snowball-Edge_32.png
        │       │   ├── Arch_AWS-Snowball-Edge_32.svg
        │       │   ├── Arch_AWS-Storage-Gateway_32.png
        │       │   └── Arch_AWS-Storage-Gateway_32.svg
        │       ├── 48
        │       │   ├── .DS_Store
        │       │   ├── Arch_Amazon-EFS_48.png
        │       │   ├── Arch_Amazon-EFS_48.svg
        │       │   ├── Arch_Amazon-Elastic-Block-Store_48.png
        │       │   ├── Arch_Amazon-Elastic-Block-Store_48.svg
        │       │   ├── Arch_Amazon-File-Cache_48.png
        │       │   ├── Arch_Amazon-File-Cache_48.svg
        │       │   ├── Arch_Amazon-FSx_48.png
        │       │   ├── Arch_Amazon-FSx_48.svg
        │       │   ├── Arch_Amazon-FSx-for-Lustre_48.png
        │       │   ├── Arch_Amazon-FSx-for-Lustre_48.svg
        │       │   ├── Arch_Amazon-FSx-for-NetApp-ONTAP_48.png
        │       │   ├── Arch_Amazon-FSx-for-NetApp-ONTAP_48.svg
        │       │   ├── Arch_Amazon-FSx-for-OpenZFS_48.png
        │       │   ├── Arch_Amazon-FSx-for-OpenZFS_48.svg
        │       │   ├── Arch_Amazon-FSx-for-WFS_48.png
        │       │   ├── Arch_Amazon-FSx-for-WFS_48.svg
        │       │   ├── Arch_Amazon-S3-on-Outposts_48.png
        │       │   ├── Arch_Amazon-S3-on-Outposts_48.svg
        │       │   ├── Arch_Amazon-Simple-Storage-Service_48.png
        │       │   ├── Arch_Amazon-Simple-Storage-Service_48.svg
        │       │   ├── Arch_Amazon-Simple-Storage-Service-Glacier_48.png
        │       │   ├── Arch_Amazon-Simple-Storage-Service-Glacier_48.svg
        │       │   ├── Arch_AWS-Backup_48.png
        │       │   ├── Arch_AWS-Backup_48.svg
        │       │   ├── Arch_AWS-Elastic-Disaster-Recovery_48.png
        │       │   ├── Arch_AWS-Elastic-Disaster-Recovery_48.svg
        │       │   ├── Arch_AWS-Snowball_48.png
        │       │   ├── Arch_AWS-Snowball_48.svg
        │       │   ├── Arch_AWS-Snowball-Edge_48.png
        │       │   ├── Arch_AWS-Snowball-Edge_48.svg
        │       │   ├── Arch_AWS-Storage-Gateway_48.png
        │       │   └── Arch_AWS-Storage-Gateway_48.svg
        │       └── 64
        │           ├── .DS_Store
        │           ├── Arch_Amazon-EFS_64.png
        │           ├── Arch_Amazon-EFS_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-Elastic-Block-Store_64.png
        │           ├── Arch_Amazon-Elastic-Block-Store_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-File-Cache_64.png
        │           ├── Arch_Amazon-File-Cache_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-FSx_64.png
        │           ├── Arch_Amazon-FSx_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-FSx-for-Lustre_64.png
        │           ├── Arch_Amazon-FSx-for-Lustre_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-FSx-for-NetApp-ONTAP_64.png
        │           ├── Arch_Amazon-FSx-for-NetApp-ONTAP_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-FSx-for-OpenZFS_64.png
        │           ├── Arch_Amazon-FSx-for-OpenZFS_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-FSx-for-WFS_64.png
        │           ├── Arch_Amazon-FSx-for-WFS_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-S3-on-Outposts_64.png
        │           ├── Arch_Amazon-S3-on-Outposts_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-Simple-Storage-Service_64.png
        │           ├── Arch_Amazon-Simple-Storage-Service_64.svg
        │           ├── [email protected]
        │           ├── Arch_Amazon-Simple-Storage-Service-Glacier_64.png
        │           ├── Arch_Amazon-Simple-Storage-Service-Glacier_64.svg
        │           ├── [email protected]
        │           ├── Arch_AWS-Backup_64.png
        │           ├── Arch_AWS-Backup_64.svg
        │           ├── [email protected]
        │           ├── Arch_AWS-Elastic-Disaster-Recovery_64.png
        │           ├── Arch_AWS-Elastic-Disaster-Recovery_64.svg
        │           ├── [email protected]
        │           ├── Arch_AWS-Snowball_64.png
        │           ├── Arch_AWS-Snowball_64.svg
        │           ├── [email protected]
        │           ├── Arch_AWS-Snowball-Edge_64.png
        │           ├── Arch_AWS-Snowball-Edge_64.svg
        │           ├── [email protected]
        │           ├── Arch_AWS-Storage-Gateway_64.png
        │           ├── Arch_AWS-Storage-Gateway_64.svg
        │           └── [email protected]
        ├── index.html
        ├── manifest.json
        ├── robots.txt
        └── static
            ├── css
            │   ├── main.c910004d.css
            │   └── main.c910004d.css.map
            └── js
                ├── 1297.c349ec3c.chunk.js
                ├── 14.7ba48ec4.chunk.js
                ├── 14.7ba48ec4.chunk.js.LICENSE.txt
                ├── 14.7ba48ec4.chunk.js.map
                ├── 1409.d2c5ac18.chunk.js
                ├── 1457.10b2696f.chunk.js
                ├── 1595.f10cd903.chunk.js
                ├── 1595.f10cd903.chunk.js.LICENSE.txt
                ├── 1595.f10cd903.chunk.js.map
                ├── 1707.26c2b146.chunk.js
                ├── 1707.26c2b146.chunk.js.map
                ├── 2019.3e4e6398.chunk.js
                ├── 2019.3e4e6398.chunk.js.map
                ├── 2038.86d3ba27.chunk.js
                ├── 2038.86d3ba27.chunk.js.map
                ├── 2374.75cb7c60.chunk.js
                ├── 2374.75cb7c60.chunk.js.LICENSE.txt
                ├── 2374.75cb7c60.chunk.js.map
                ├── 2491.6dc3b41c.chunk.js
                ├── 2491.6dc3b41c.chunk.js.map
                ├── 3025.e856e271.chunk.js
                ├── 3025.e856e271.chunk.js.LICENSE.txt
                ├── 3025.e856e271.chunk.js.map
                ├── 3290.6c752b7b.chunk.js
                ├── 3290.6c752b7b.chunk.js.map
                ├── 3345.719283e7.chunk.js
                ├── 3345.719283e7.chunk.js.map
                ├── 349.2456c1b6.chunk.js
                ├── 349.2456c1b6.chunk.js.map
                ├── 3641.87d0bf7c.chunk.js
                ├── 3641.87d0bf7c.chunk.js.map
                ├── 3705.1bb92025.chunk.js
                ├── 3705.1bb92025.chunk.js.map
                ├── 3750.c184e3e3.chunk.js
                ├── 3750.c184e3e3.chunk.js.map
                ├── 3817.79a57e5e.chunk.js
                ├── 3817.79a57e5e.chunk.js.map
                ├── 4114.eea3c770.chunk.js
                ├── 4114.eea3c770.chunk.js.map
                ├── 4135.b88aaf7b.chunk.js
                ├── 4147.5f8e8649.chunk.js
                ├── 4191.3ed02494.chunk.js
                ├── 4191.3ed02494.chunk.js.map
                ├── 4487.fec1d877.chunk.js
                ├── 4570.ce64aedb.chunk.js
                ├── 4570.ce64aedb.chunk.js.map
                ├── 490.a05b6059.chunk.js
                ├── 490.a05b6059.chunk.js.map
                ├── 5009.1a2aa685.chunk.js
                ├── 5009.1a2aa685.chunk.js.LICENSE.txt
                ├── 5009.1a2aa685.chunk.js.map
                ├── 5502.14766ceb.chunk.js
                ├── 5502.14766ceb.chunk.js.map
                ├── 62.b40b6fbd.chunk.js
                ├── 62.b40b6fbd.chunk.js.map
                ├── 6453.8c3fba0e.chunk.js
                ├── 6453.8c3fba0e.chunk.js.map
                ├── 6455.8e6b5278.chunk.js
                ├── 6455.8e6b5278.chunk.js.map
                ├── 646.6aac5035.chunk.js
                ├── 646.6aac5035.chunk.js.LICENSE.txt
                ├── 646.6aac5035.chunk.js.map
                ├── 6516.3948f7b4.chunk.js
                ├── 6516.3948f7b4.chunk.js.map
                ├── 6725.6ad72d9d.chunk.js
                ├── 6823.e10e9817.chunk.js
                ├── 6823.e10e9817.chunk.js.map
                ├── 6865.afd592a9.chunk.js
                ├── 6865.afd592a9.chunk.js.map
                ├── 6977.4218876a.chunk.js
                ├── 6977.4218876a.chunk.js.LICENSE.txt
                ├── 6977.4218876a.chunk.js.map
                ├── 7069.02ce9149.chunk.js
                ├── 7069.02ce9149.chunk.js.map
                ├── 7513.37f12f0e.chunk.js
                ├── 7513.37f12f0e.chunk.js.map
                ├── 7550.0cfdabcf.chunk.js
                ├── 7550.0cfdabcf.chunk.js.map
                ├── 7681.ee495de8.chunk.js
                ├── 7681.ee495de8.chunk.js.LICENSE.txt
                ├── 7681.ee495de8.chunk.js.map
                ├── 7841.37a92b31.chunk.js
                ├── 7841.37a92b31.chunk.js.map
                ├── 7854.ed7e04cc.chunk.js
                ├── 7854.ed7e04cc.chunk.js.map
                ├── 8151.87df400e.chunk.js
                ├── 8151.87df400e.chunk.js.map
                ├── 8195.55a334cf.chunk.js
                ├── 8195.55a334cf.chunk.js.map
                ├── 8218.b7de3259.chunk.js
                ├── 8218.b7de3259.chunk.js.map
                ├── 8234.f2f9a7db.chunk.js
                ├── 8234.f2f9a7db.chunk.js.map
                ├── 8332.9aa74d00.chunk.js
                ├── 8332.9aa74d00.chunk.js.map
                ├── 8449.676bcc94.chunk.js
                ├── 8449.676bcc94.chunk.js.map
                ├── 8660.7fdeafe8.chunk.js
                ├── 8660.7fdeafe8.chunk.js.map
                ├── 9413.aea20916.chunk.js
                ├── 9413.aea20916.chunk.js.map
                ├── 9448.cd4e8095.chunk.js
                ├── 9448.cd4e8095.chunk.js.map
                ├── 9459.753274fe.chunk.js
                ├── 9459.753274fe.chunk.js.map
                ├── 9573.5ba95804.chunk.js
                ├── 9573.5ba95804.chunk.js.map
                ├── 9664.9e69f3bc.chunk.js
                ├── 9664.9e69f3bc.chunk.js.map
                ├── 9844.6366c533.chunk.js
                ├── 9844.6366c533.chunk.js.map
                ├── main.4cda12e2.js
                ├── main.4cda12e2.js.LICENSE.txt
                └── main.4cda12e2.js.map
```

# Files

--------------------------------------------------------------------------------
/pkg/agent/agent_test.go:
--------------------------------------------------------------------------------

```go
package agent

import (
	"context"
	"encoding/json"
	"fmt"
	"os"
	"path/filepath"
	"strings"
	"testing"
	"time"

	"github.com/tmc/langchaingo/llms"
	"github.com/tmc/langchaingo/llms/googleai"
	"github.com/versus-control/ai-infrastructure-agent/internal/config"
	"github.com/versus-control/ai-infrastructure-agent/internal/logging"
	"github.com/versus-control/ai-infrastructure-agent/pkg/agent/mocks"
	"github.com/versus-control/ai-infrastructure-agent/pkg/types"
)

// === Helper Functions for Setting Up Real AI and Comprehensive Mock MCP Tools ===

func setupRealConfiguration() (*config.Config, error) {
	// Load the actual config from configuration file
	cfg, err := config.Load()
	if err != nil {
		return nil, fmt.Errorf("failed to load configuration: %w", err)
	}

	// Ensure we're using Gemini for this test
	cfg.Agent.Provider = "gemini"
	cfg.Agent.MaxTokens = 20000
	cfg.Agent.Model = "gemini-2.5-flash-lite" // Use a valid model name
	cfg.Agent.EnableDebug = true

	return cfg, nil
}

func setupRealLLMClient(cfg *config.Config) (llms.Model, error) {
	switch cfg.Agent.Provider {
	case "gemini":
		apiKey := os.Getenv("GEMINI_API_KEY")
		if apiKey == "" {
			return nil, fmt.Errorf("You need an auth option to use this client.")
		}
		// Pass the API key and model to the googleai client
		return googleai.New(context.Background(),
			googleai.WithAPIKey(apiKey),
			googleai.WithDefaultModel(cfg.Agent.Model))
	default:
		return nil, fmt.Errorf("unsupported LLM provider: %s", cfg.Agent.Provider)
	}
}

func setupAgentWithRealAI(cfg *config.Config, llmClient llms.Model) (*StateAwareAgent, *mocks.MockTestSuite, error) {
	// Create logger
	logger := logging.NewLogger("test", cfg.Logging.Level)

	// Initialize mock test suite with real component integration
	mockSuite, err := mocks.NewMockTestSuite("us-west-2")
	if err != nil {
		return nil, nil, fmt.Errorf("failed to create mock test suite: %w", err)
	}

	// Create agent with real AI but mock infrastructure components
	agent := &StateAwareAgent{
		llm:       llmClient,
		config:    &cfg.Agent,
		awsConfig: &cfg.AWS,
		Logger:    logger,

		// MCP from mock suite
		resourceMappings: make(map[string]string),
		mcpTools:         make(map[string]MCPToolInfo),
		mcpResources:     make(map[string]MCPResourceInfo),

		// Enable test mode to use mock MCP capabilities
		testMode: true,

		// Set mock MCP server for test mode
		mockMCPServer: mockSuite.MCPServer,

		// Use real configuration-driven components from mock suite
		patternMatcher: mockSuite.StateManager.GetPatternMatcher(),
		fieldResolver:  mockSuite.StateManager.GetFieldResolver(),

		extractionConfig: mockSuite.StateManager.GetExtractionConfig(),
		idExtractor:      mockSuite.StateManager.GetIDExtractor(),
	}

	return agent, mockSuite, nil
}

// == Prompts ==

// Comprehensive VPC Infrastructure
func comprehensiveVPCPrompt() string {
	// Comprehensive VPC infrastructure prompt
	prompt := `Create a complete production-ready VPC infrastructure on AWS with the following requirements:

NETWORK ARCHITECTURE:
- VPC with CIDR 10.0.0.0/16 in us-west-2
- 6 subnets across 3 availability zones:
  * 2 public subnets (10.0.1.0/24, 10.0.2.0/24) for load balancers
  * 2 private subnets (10.0.11.0/24, 10.0.12.0/24) for application servers  
  * 2 database subnets (10.0.21.0/24, 10.0.22.0/24) for RDS instances
- Internet Gateway for public access
- 2 NAT Gateways in public subnets for private subnet internet access
- Route tables with proper routing

COMPUTE & SECURITY:
- Application Load Balancer in public subnets
- Auto Scaling Group with t3.medium instances in private subnets
- Launch Template with latest Amazon Linux 2 AMI
- Security Groups with least privilege access
- Target Group for ALB health checks

DATABASE:
- RDS MySQL instance in database subnets
- Database security group allowing access only from app servers
- Multi-AZ deployment for high availability

VALIDATION:
- Validate all resources are properly configured
- Test connectivity between components
- Verify security group rules are correct

Please create a detailed execution plan with all necessary steps, proper dependencies, and real AWS API calls where needed.`

	return prompt
}

// Comprehensive EC2 Infrastructure
func comprehensiveEC2Prompt() string {
	prompt := `Create an EC2 for hosting an Apache Server with a dedicated security group that allows inbound HTTP (port 80) and SSH (port 22) traffic.`

	return prompt
}

// Comprehensive VPC with EC2 Infrastructure
func comprehensiveVPCwithEC2Prompt() string {
	prompt := `Create a production VPC with a CIDR block of 10.0.0.0/16 across two availability zones. Set up public subnets (10.0.1.0/24 and 10.0.2.0/24) for internet-facing load balancers. Create private subnets for application servers (10.0.11.0/24 and 10.0.12.0/24): Configure Internet Gateway and NAT Gateway for proper routing. Create an EC2 for hosting an Apache Server with a dedicated security group that allows inbound HTTP (port 80) and SSH (port 22) traffic in public subnets.`

	return prompt
}

// Comprehensive EC2 Infrastructure
func comprehensiveEC2withALBPrompt() string {
	prompt := `I need to deploy a web application infrastructure on AWS with the following requirements:

- Create an EC2 for hosting an Apache Server with a dedicated security group that allows inbound HTTP (port 80) and SSH (port 22) traffic.
- Create an Application Load Balancer across public subnets in front of the EC2 instance with a security group that allows inbound HTTP (port 80) traffic from the internet.`

	return prompt
}

// Comprehensive Three-Tier Infrastructure
func comprehensiveThreeLayerPrompt() string {
	prompt := `I need to deploy a complete production-ready three-tier web application infrastructure on AWS with the following requirements:

Network Foundation (Phase 1):
- Create a production VPC with a CIDR block of 10.0.0.0/16 across two availability zones.
- Set up public subnets (10.0.1.0/24 and 10.0.2.0/24) for internet-facing load balancers.
- Create private subnets for application servers (10.0.11.0/24 and 10.0.12.0/24).
- Set up dedicated database subnets (10.0.21.0/24 and 10.0.22.0/24)
- Configure Internet Gateway and NAT Gateway for proper routing.

Security Architecture (Phase 2):
- Create defense-in-depth security with tiered security groups
- Load balancer security group allowing HTTP/HTTPS from internet (0.0.0.0/0)
- Application server security group accepting traffic only from load balancer
- Database security group allowing MySQL (port 3306) only from application servers

Load Balancer Tier (Phase 3):
- Deploy Application Load Balancer across public subnets in both AZs
- Configure target group with health checks on /health endpoint
- Set up HTTP listener (port 80) with proper health check thresholds
- Health check: 30s interval, 5s timeout, 2 healthy/3 unhealthy thresholds

Auto Scaling Application Tier (Phase 4):
- Create launch template with t3.medium instances
- Use Amazon Linux 2 AMI with Apache/PHP web server
- Configure user data script to install web server and health check endpoint
- Set up Auto Scaling Group: min 2, max 10, desired 4 instances
- Deploy across private application subnets in both AZs
- Integrate with load balancer target group for automatic registration
- Use ELB health checks with 300s grace period

Database Infrastructure (Phase 5):
- Create RDS MySQL 8.0 database with Multi-AZ deployment
- Use db.t3.medium instance class with 100GB GP3 storage
- Enable encryption at rest and Performance Insights
- Configure automated backups: 7-day retention, 3-4 AM backup window
- Set maintenance window: Sunday 4-5 AM
- Deploy across database subnets in both AZs

Additional Requirements:
- Tag all resources with Environment=production, Application=three-tier-web-app
- Use consistent naming convention with environment and tier identifiers
- Ensure high availability across multiple availability zones
- Follow AWS Well-Architected Framework principles
- Configure proper resource dependencies and creation order

Please deploy this complete infrastructure stack and provide me with the key resource IDs and endpoints once deployment is complete.`

	return prompt
}

// Comprehensive Serverless Infrastructure
func comprehensiveServerlessPrompt() string {
	prompt := `Deploy a complete serverless application infrastructure on AWS with the following specifications:

API Layer:
- Create an API Gateway REST API with regional endpoint
- Define resources and methods: GET /items, POST /items, GET /items/{id}
- Enable CORS for all methods
- Set up usage plan with throttling: 100 requests/second burst, 50 requests/second steady

Compute Layer:
- Create three Lambda functions in Node.js 20.x runtime
- Function 1: listItems - GET all items from DynamoDB
- Function 2: createItem - POST new item to DynamoDB
- Function 3: getItem - GET single item by ID
- Configure 128MB memory, 10s timeout for each
- Use environment variables for DynamoDB table name
- Integrate each function with corresponding API Gateway methods
- Enable Lambda function URLs for testing

Database Layer:
- Provision DynamoDB table named 'Items' with partition key 'id' (string)
- Add global secondary index on 'category' attribute
- Set provisioned capacity: 5 read/write capacity units
- Enable point-in-time recovery and auto-scaling (min 5, max 100)
- Encrypt with AWS-managed KMS key

Security and Authentication:
- Create Cognito User Pool for user authentication
- Add app client with OAuth flows enabled
- Configure API Gateway authorizer using Cognito
- Apply authorizer to all API methods except public GET /items

Monitoring and Logging:
- Enable X-Ray tracing for API Gateway and Lambda
- Create CloudWatch Log Groups for each Lambda with 7-day retention
- Set up CloudWatch alarms for Lambda errors (>0) and API 5xx errors (>1%)

Additional Requirements:
- Deploy in us-east-1 region
- Tag all resources with Environment=production, Application=serverless-app
- Ensure IAM roles follow least privilege: Lambda role with DynamoDB access only
- Provide API endpoint and test commands after deployment

Create a step-by-step execution plan including all AWS API calls, resource dependencies, and validation steps.`

	return prompt
}

// Comprehensive EKS Infrastructure
func comprehensiveEKSPrompt() string {
	prompt := `Set up a production-ready Kubernetes cluster on AWS EKS with these requirements:

Cluster Foundation:
- Create EKS cluster version 1.30 in us-west-2
- Enable public and private endpoint access
- Configure cluster logging: api, audit, authenticator, controllerManager, scheduler

Networking:
- Use existing VPC or create new with CIDR 10.100.0.0/16
- Public subnets: 10.100.1.0/24, 10.100.2.0/24
- Private subnets: 10.100.11.0/24, 10.100.12.0/24
- Ensure proper route tables and security groups for cluster communication

Node Groups:
- Managed node group with t3.medium instances
- Min 2, max 10, desired 3 nodes
- Use Amazon Linux 2 EKS-optimized AMI
- Enable auto-scaling and cluster autoscaler
- Add labels: role=worker

Add-ons:
- Install CoreDNS, kube-proxy, VPC CNI
- Add EBS CSI driver for persistent storage
- Deploy AWS Load Balancer Controller

Security:
- Create IAM roles for cluster and nodes with least privilege
- Enable IRSA (IAM Roles for Service Accounts)
- Configure security groups to allow only necessary ports

Monitoring:
- Enable EKS Control Plane logging to CloudWatch
- Install Prometheus and Grafana for cluster monitoring
- Set up alerts for node CPU >80% and pod evictions

Deployment Validation:
- Deploy sample nginx deployment and service (type LoadBalancer)
- Verify external access to the service
- Check cluster health and node status

Provide a detailed plan with sequential steps, AWS CLI commands where applicable, and resource verification.`

	return prompt
}

// Comprehensive S3 with CloudFront Infrastructure
func comprehensiveS3CloudFrontPrompt() string {
	prompt := `Build a global static website hosting infrastructure on AWS:

Storage Layer:
- Create S3 bucket for website assets in us-east-1
- Enable versioning and server-side encryption (SSE-S3)
- Set bucket policy for public read access
- Upload sample index.html and error.html

Distribution Layer:
- Create CloudFront distribution with S3 as origin
- Configure default root object: index.html
- Enable HTTP/2 and IPv6
- Set price class: Use All Edge Locations
- Configure error pages: 404 -> error.html (HTTP 200)

Security:
- Create Origin Access Control (OAC) for S3
- Update S3 bucket policy to allow only CloudFront
- Enable WAF web ACL with AWS managed rules for common exploits

Domain and SSL:
- Assume domain example.com in Route 53
- Create ACM certificate for *.example.com
- Configure CloudFront alternate domain names
- Set up Route 53 A record alias to CloudFront

Logging and Monitoring:
- Enable CloudFront standard logging to S3
- Create CloudWatch alarms for BytesDownloaded > threshold
- Set S3 access logging

Additional Features:
- Enable compression for text/* MIME types
- Set cache behavior: TTL min 0, default 1 day, max 1 year
- Add geo-restriction whitelist: US, CA

Deploy the infrastructure and provide the CloudFront domain name, S3 bucket name, and test URLs.`

	return prompt
}

// Comprehensive ECS Infrastructure
func comprehensiveECSPrompt() string {
	prompt := `Deploy a containerized application on AWS ECS with Fargate:

Cluster Setup:
- Create ECS cluster in us-east-1
- Enable Container Insights for monitoring

Networking:
- Use VPC with public and private subnets across 2 AZs
- CIDR: 10.20.0.0/16
- Public: 10.20.1.0/24, 10.20.2.0/24
- Private: 10.20.11.0/24, 10.20.12.0/24
- Internet Gateway and NAT for outbound

Task Definition:
- Fargate launch type
- Task: 0.5 vCPU, 1GB memory
- Container: nginx:latest, port 80
- Add environment variables if needed
- Enable AWS Logs driver

Service:
- Create ECS service with 2 desired tasks
- Deploy in private subnets
- Enable auto-scaling: min 2, max 10, CPU target 70%
- Integrate with Application Load Balancer

Load Balancer:
- Internet-facing ALB in public subnets
- HTTP listener port 80
- Target group with health check on /
- Security group: allow 80 from 0.0.0.0/0

Database (Optional Integration):
- RDS PostgreSQL in private subnets
- Allow access from ECS security group on port 5432

Security:
- ECS task role with S3 read access (if needed)
- Security groups with least privilege

Validation:
- Verify service is running and accessible via ALB
- Scale tasks and check auto-scaling

Provide execution plan with all steps, dependencies, and final endpoints.`

	return prompt
}

// Comprehensive Monitoring and Logging Infrastructure
func comprehensiveMonitoringPrompt() string {
	prompt := `Set up comprehensive monitoring and logging for an existing AWS infrastructure:

Core Services:
- Enable CloudWatch for all supported resources
- Create CloudTrail trail for management events, multi-region
- Configure S3 bucket for CloudTrail logs with lifecycle policy (30 days to Glacier)

Alarms and Dashboards:
- Create CloudWatch alarms:
  - EC2 CPU >80% for 5 minutes
  - ALB 5xx errors >5 in 1 minute
  - RDS free storage <20%
- Build CloudWatch dashboard with widgets for CPU, network, errors

Logging:
- Set up centralized logging with CloudWatch Logs
- Create log groups for EC2, Lambda, ECS with 14-day retention
- Enable VPC Flow Logs to CloudWatch Logs group

Advanced Monitoring:
- Enable X-Ray for application tracing (API Gateway, Lambda, ECS)
- Set up Synthetics canaries for endpoint monitoring (every 5 min)
- Configure EventBridge rules for critical events (e.g., instance termination)

Notifications:
- Create SNS topic for alarms
- Subscribe email endpoint
- Integrate with alarms for notifications

Security Monitoring:
- Enable GuardDuty for threat detection
- Configure Config rules for compliance (e.g., encrypted volumes)
- Set up Security Hub with CIS benchmarks

Deploy in us-west-2, tag resources with Monitoring=true, and provide dashboard URL and alarm names.`

	return prompt
}

// === Test Suites ===

// TestComprehensiveExecutionPipeline tests all aspects of the execution pipeline
func TestComprehensiveExecutionPipeline(t *testing.T) {
	t.Run("RealAIWithComprehensiveEC2Prompt", func(t *testing.T) {
		testRealAIWithComprehensiveEC2Prompt(t)
	})
	t.Run("RealAIWithComprehensiveVPCPrompt", func(t *testing.T) {
		testRealAIWithComprehensiveVPCPrompt(t)
	})
	t.Run("RealAIWithComprehensiveVPCwithEC2Prompt", func(t *testing.T) {
		testRealAIWithComprehensiveVPCwithEC2Prompt(t)
	})
	t.Run("RealAIWithComprehensiveThreeLayerPrompt", func(t *testing.T) {
		testRealAIWithComprehensiveThreeLayerPrompt(t)
	})
	// == State Handling Test ==
	t.Run("RealAIWithRealStateEC2AndALBPrompt", func(t *testing.T) {
		testRealAIWithRealStateEC2AndALBPrompt(t)
	})
}

func testRealAIWithComprehensiveEC2Prompt(t *testing.T) {
	// Comprehensive VPC infrastructure prompt
	comprehensivePrompt := comprehensiveEC2Prompt()

	// Setup test configuration
	cfg, err := setupRealConfiguration()
	if err != nil {
		t.Fatalf("Failed to setup real configuration: %v", err)
	}

	// Setup real LLM client
	llmClient, err := setupRealLLMClient(cfg)
	if err != nil {
		t.Fatalf("Failed to setup real LLM client: %v", err)
	}

	// Setup test agent with real AI and comprehensive mock infrastructure
	agent, mockSuite, err := setupAgentWithRealAI(cfg, llmClient)
	if err != nil {
		t.Fatalf("Failed to setup test agent: %v", err)
	}
	// defer mockSuite.Reset()

	// Create decision context using mock state manager
	emptyState := &types.InfrastructureState{
		Resources: make(map[string]*types.ResourceState),
	}

	decisionContext := &DecisionContext{
		Request:             comprehensivePrompt,
		CurrentState:        emptyState,
		DiscoveredState:     []*types.ResourceState{},
		Conflicts:           []*types.ConflictResolution{},
		DeploymentOrder:     []string{},
		ResourceCorrelation: make(map[string]*ResourceMatch),
	}

	t.Logf("🚀 Starting comprehensive execution pipeline test with real AI integration and mock infrastructure...")

	// Step 1: Test AI Decision Making
	t.Logf("📡 Step 1: Making real AI API call to process comprehensive infrastructure request...")

	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*3)
	defer cancel()

	decisionID := "test-comprehensive-decision"
	decision, err := agent.generateDecisionWithPlan(ctx, decisionID, comprehensivePrompt, decisionContext)
	if err != nil {
		t.Fatalf("❌ Real AI API call failed: %v", err)
	}

	t.Logf("✅ Step 1 Complete: AI generated decision with %d execution steps", len(decision.ExecutionPlan))

	// Step 2: Validate AI-Generated Plan Structure
	t.Logf("🔍 Step 2: Validating AI-generated execution plan structure...")
	validateExecutionPlanStructure(t, agent, decision)
	t.Logf("✅ Step 2 Complete: Execution plan structure is valid")

	// Step 3: Execute Full Flow with Mock Infrastructure
	t.Logf("⚙️ Step 3: Executing full infrastructure plan using mock functions...")
	testExecuteFullPlanWithMocks(t, agent, mockSuite, decision)
	t.Logf("✅ Step 3 Complete: Full plan execution completed successfully")

	// Step 4: Validate Mock Integration
	t.Logf("🔬 Step 4: Validating mock infrastructure integration...")
	testValidateMockIntegration(t, mockSuite, decision)
	t.Logf("✅ Step 4 Complete: Mock integration validated")

	t.Logf("🎉 All tests completed successfully! AI + Mock infrastructure integration validated.")
}

func testRealAIWithComprehensiveVPCPrompt(t *testing.T) {
	// Comprehensive VPC infrastructure prompt
	comprehensivePrompt := comprehensiveVPCPrompt()

	// Setup test configuration
	cfg, err := setupRealConfiguration()
	if err != nil {
		t.Fatalf("Failed to setup real configuration: %v", err)
	}

	// Setup real LLM client
	llmClient, err := setupRealLLMClient(cfg)
	if err != nil {
		t.Fatalf("Failed to setup real LLM client: %v", err)
	}

	// Setup test agent with real AI and comprehensive mock infrastructure
	agent, mockSuite, err := setupAgentWithRealAI(cfg, llmClient)
	if err != nil {
		t.Fatalf("Failed to setup test agent: %v", err)
	}
	// defer mockSuite.Reset()

	// Create decision context using mock state manager
	emptyState := &types.InfrastructureState{
		Resources: make(map[string]*types.ResourceState),
	}

	decisionContext := &DecisionContext{
		Request:             comprehensivePrompt,
		CurrentState:        emptyState,
		DiscoveredState:     []*types.ResourceState{},
		Conflicts:           []*types.ConflictResolution{},
		DeploymentOrder:     []string{},
		ResourceCorrelation: make(map[string]*ResourceMatch),
	}

	t.Logf("🚀 Starting comprehensive execution pipeline test with real AI integration and mock infrastructure...")

	// Step 1: Test AI Decision Making
	t.Logf("📡 Step 1: Making real AI API call to process comprehensive infrastructure request...")

	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*3)
	defer cancel()

	decisionID := "test-comprehensive-decision"
	decision, err := agent.generateDecisionWithPlan(ctx, decisionID, comprehensivePrompt, decisionContext)
	if err != nil {
		t.Fatalf("❌ Real AI API call failed: %v", err)
	}

	t.Logf("✅ Step 1 Complete: AI generated decision with %d execution steps", len(decision.ExecutionPlan))

	// Step 2: Validate AI-Generated Plan Structure
	t.Logf("🔍 Step 2: Validating AI-generated execution plan structure...")
	validateExecutionPlanStructure(t, agent, decision)
	t.Logf("✅ Step 2 Complete: Execution plan structure is valid")

	// Step 3: Execute Full Flow with Mock Infrastructure
	t.Logf("⚙️ Step 3: Executing full infrastructure plan using mock functions...")
	testExecuteFullPlanWithMocks(t, agent, mockSuite, decision)
	t.Logf("✅ Step 3 Complete: Full plan execution completed successfully")

	// Step 4: Validate Mock Integration
	t.Logf("🔬 Step 4: Validating mock infrastructure integration...")
	testValidateMockIntegration(t, mockSuite, decision)
	t.Logf("✅ Step 4 Complete: Mock integration validated")

	t.Logf("🎉 All tests completed successfully! AI + Mock infrastructure integration validated.")
}

func testRealAIWithComprehensiveVPCwithEC2Prompt(t *testing.T) {
	// Comprehensive VPC infrastructure prompt
	comprehensivePrompt := comprehensiveVPCwithEC2Prompt()

	// Setup test configuration
	cfg, err := setupRealConfiguration()
	if err != nil {
		t.Fatalf("Failed to setup real configuration: %v", err)
	}

	// Setup real LLM client
	llmClient, err := setupRealLLMClient(cfg)
	if err != nil {
		t.Fatalf("Failed to setup real LLM client: %v", err)
	}

	// Setup test agent with real AI and comprehensive mock infrastructure
	agent, mockSuite, err := setupAgentWithRealAI(cfg, llmClient)
	if err != nil {
		t.Fatalf("Failed to setup test agent: %v", err)
	}
	// defer mockSuite.Reset()

	// Create decision context using mock state manager
	emptyState := &types.InfrastructureState{
		Resources: make(map[string]*types.ResourceState),
	}

	decisionContext := &DecisionContext{
		Request:             comprehensivePrompt,
		CurrentState:        emptyState,
		DiscoveredState:     []*types.ResourceState{},
		Conflicts:           []*types.ConflictResolution{},
		DeploymentOrder:     []string{},
		ResourceCorrelation: make(map[string]*ResourceMatch),
	}

	t.Logf("🚀 Starting comprehensive execution pipeline test with real AI integration and mock infrastructure...")

	// Step 1: Test AI Decision Making
	t.Logf("📡 Step 1: Making real AI API call to process comprehensive infrastructure request...")

	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*3)
	defer cancel()

	decisionID := "test-comprehensive-decision"
	decision, err := agent.generateDecisionWithPlan(ctx, decisionID, comprehensivePrompt, decisionContext)
	if err != nil {
		t.Fatalf("❌ Real AI API call failed: %v", err)
	}

	t.Logf("✅ Step 1 Complete: AI generated decision with %d execution steps", len(decision.ExecutionPlan))

	// Step 2: Validate AI-Generated Plan Structure
	t.Logf("🔍 Step 2: Validating AI-generated execution plan structure...")
	validateExecutionPlanStructure(t, agent, decision)
	t.Logf("✅ Step 2 Complete: Execution plan structure is valid")

	// Step 3: Enhanced Pre-Execution Validation
	t.Logf("🔬 Step 3: Enhanced pre-execution validation...")
	testEnhancedPreExecutionValidation(t, agent, mockSuite, decision)
	t.Logf("✅ Step 3 Complete: Pre-execution validation passed")

	// Step 4: Execute Full Flow with Mock Infrastructure
	t.Logf("⚙️ Step 4: Executing full infrastructure plan using mock functions...")
	testExecuteFullPlanWithMocks(t, agent, mockSuite, decision)
	t.Logf("✅ Step 4 Complete: Full plan execution completed successfully")

	// Step 5: Enhanced Post-Execution Validation
	t.Logf("🔍 Step 5: Enhanced post-execution validation...")
	testEnhancedPostExecutionValidation(t, agent, mockSuite, decision)
	t.Logf("✅ Step 5 Complete: Post-execution validation passed")

	// Step 6: Error Scenario Testing
	t.Logf("🚨 Step 6: Testing error scenarios...")
	testErrorScenarios(t, agent, mockSuite, decision)
	t.Logf("✅ Step 6 Complete: Error scenarios tested")

	// Step 7: Infrastructure Reality Checks
	t.Logf("🏗️ Step 7: Running infrastructure reality checks...")
	testInfrastructureRealityCheck(t, agent, mockSuite, decision)
	t.Logf("✅ Step 7 Complete: Infrastructure reality checks passed")

	// Step 8: Web UI Flow Simulation
	t.Logf("🌐 Step 8: Simulating Web UI flow...")
	testWebUIFlowSimulation(t, agent, mockSuite, decision)
	t.Logf("✅ Step 8 Complete: Web UI flow simulation passed")

	// Step 9: Validate Mock Integration
	t.Logf("🔬 Step 9: Validating mock infrastructure integration...")
	testValidateMockIntegration(t, mockSuite, decision)
	t.Logf("✅ Step 9 Complete: Mock integration validated")

	t.Logf("🎉 All tests completed successfully! Enhanced AI + Mock infrastructure integration validated.")
}

// === Test Function for EC2 with ALB Prompt with State Handling ===

func testRealAIWithRealStateEC2AndALBPrompt(t *testing.T) {
	// EC2 with ALB infrastructure prompt
	comprehensivePrompt := comprehensiveEC2withALBPrompt()

	// Setup test configuration
	cfg, err := setupRealConfiguration()
	if err != nil {
		t.Fatalf("Failed to setup real configuration: %v", err)
	}

	// Setup real LLM client
	llmClient, err := setupRealLLMClient(cfg)
	if err != nil {
		t.Fatalf("Failed to setup real LLM client: %v", err)
	}

	// Setup test agent with real AI and comprehensive mock infrastructure
	agent, mockSuite, err := setupAgentWithRealAI(cfg, llmClient)
	if err != nil {
		t.Fatalf("Failed to setup test agent: %v", err)
	}

	// Load existing infrastructure state from sample file
	t.Logf("📋 Loading existing infrastructure state from states/infrastructure-state-t01.json...")
	existingState, err := loadInfrastructureStateFromFile("states/infrastructure-state-t01.json")
	if err != nil {
		// If state file doesn't exist or can't be loaded, use empty state
		t.Fatalf("⚠️ Could not load existing state file (%v), using empty state for test", err)
	} else {
		t.Logf("✅ Successfully loaded existing state with %d resources", len(existingState.Resources))

		// Log some of the existing resources to verify proper loading
		resourceCount := 0
		for resourceID, resource := range existingState.Resources {
			if resourceCount < 3 { // Only log first 3 for brevity
				t.Logf("📦 Existing resource: %s (type: %s, status: %s)", resourceID, resource.Type, resource.Status)
			}
			resourceCount++
		}
		if resourceCount > 3 {
			t.Logf("📦 ... and %d more existing resources", resourceCount-3)
		}

		// Load the state into mock infrastructure and populate resource mappings
		t.Logf("🔄 Loading state into mock infrastructure for dependency resolution...")
		if err := mockSuite.LoadExistingState(existingState.Resources, agent); err != nil {
			t.Fatalf("❌ Failed to load state into mock infrastructure: %v", err)
		}
		t.Logf("✅ State loaded into mock infrastructure with %d resource mappings", len(mockSuite.ResourceMappings))
	}

	// Create decision context using the loaded state - this is key for testing state handling
	decisionContext := &DecisionContext{
		Request:             comprehensivePrompt,
		CurrentState:        existingState, // Pass the loaded state here
		DiscoveredState:     []*types.ResourceState{},
		Conflicts:           []*types.ConflictResolution{},
		DeploymentOrder:     []string{},
		ResourceCorrelation: make(map[string]*ResourceMatch),
	}

	t.Logf("🚀 Starting comprehensive EC2 with ALB test with real AI and existing state context...")

	// Step 1: Test AI Decision Making with Existing State Context
	t.Logf("📡 Step 1: Making real AI API call with existing state context for EC2+ALB infrastructure...")

	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*3)
	defer cancel()

	decisionID := "test-ec2-alb-decision-with-state"
	decision, err := agent.generateDecisionWithPlan(ctx, decisionID, comprehensivePrompt, decisionContext)
	if err != nil {
		t.Fatalf("❌ Real AI API call failed: %v", err)
	}

	t.Logf("✅ Step 1 Complete: AI generated decision with %d execution steps (with state context)", len(decision.ExecutionPlan))

	// Log decision summary for verification
	t.Logf("📝 Decision Action: %s", decision.Action)
	t.Logf("🧠 Decision Reasoning: %s", decision.Reasoning)
	if decision.Resource != "" {
		t.Logf("📦 Primary Resource: %s", decision.Resource)
	}

	// Step 2: Validate AI-Generated Plan Structure for EC2+ALB
	t.Logf("🔍 Step 2: Validating AI-generated execution plan for EC2+ALB infrastructure...")
	validateExecutionPlanStructureForEC2ALB(t, decision, existingState)
	t.Logf("✅ Step 2 Complete: Execution plan structure validated for EC2+ALB")

	// Step 3: Test State-Aware Planning Logic
	t.Logf("🧠 Step 3: Testing AI state-aware planning logic...")
	testStateAwarePlanningLogic(t, decision, existingState, comprehensivePrompt)
	t.Logf("✅ Step 3 Complete: State-aware planning logic validated")

	// Step 4: Execute Full Flow with Mock Infrastructure
	t.Logf("⚙️ Step 4: Executing full EC2+ALB plan using mock functions...")
	testExecuteFullPlanWithMocks(t, agent, mockSuite, decision)
	t.Logf("✅ Step 4 Complete: Full plan execution completed successfully")

	// Step 5: Validate Mock Integration
	t.Logf("🔬 Step 5: Validating mock infrastructure integration...")
	testValidateMockIntegration(t, mockSuite, decision)
	t.Logf("✅ Step 5 Complete: Mock integration validated")

	// Step 6: Test Idempotency and State Consistency
	t.Logf("🔄 Step 6: Testing idempotency with existing state...")
	testIdempotencyWithExistingState(t, agent, mockSuite, decisionContext, comprehensivePrompt)
	t.Logf("✅ Step 6 Complete: Idempotency and state consistency validated")

	t.Logf("🎉 All EC2+ALB with state handling tests completed successfully!")
}

// === Helper Function ===

// loadInfrastructureStateFromFile loads an existing infrastructure state from a JSON file
func loadInfrastructureStateFromFile(filePath string) (*types.InfrastructureState, error) {
	dir, _ := os.Getwd()

	// Navigate to project root by looking for go.mod file
	for {
		if _, err := os.Stat(filepath.Join(dir, "go.mod")); err == nil {
			break
		}
		parent := filepath.Dir(dir)
		if parent == dir {
			// Reached root directory, use current dir
			break
		}
		dir = parent
	}

	// Read state file
	data, err := os.ReadFile(filepath.Join(dir, filePath))
	if err != nil {
		return nil, fmt.Errorf("failed to read state file %s: %w", filePath, err)
	}

	// Parse state
	var state types.InfrastructureState
	if err := json.Unmarshal(data, &state); err != nil {
		return nil, fmt.Errorf("failed to parse state file %s: %w", filePath, err)
	}

	return &state, nil
}

// validateExecutionPlanStructureForEC2ALB validates the plan structure specifically for EC2+ALB resources
func validateExecutionPlanStructureForEC2ALB(t *testing.T, decision *types.AgentDecision, existingState *types.InfrastructureState) {
	if len(decision.ExecutionPlan) == 0 {
		t.Fatal("❌ AI generated empty execution plan")
	}

	// Validate basic plan structure
	planValidActions := map[string]bool{
		"create": true,
		"query":  true,
		// "update":   true,
		// "delete":   true,
		// "validate": true,
	}

	for _, planStep := range decision.ExecutionPlan {
		if !planValidActions[planStep.Action] {
			t.Fatalf("❌ Invalid plan action: %s", planStep.Action)
		}
	}

	// Check for EC2+ALB specific components
	foundComponents := make(map[string]bool)
	expectedEC2ALBComponents := []string{"ec2", "security", "load", "balancer", "target", "group"}

	for _, step := range decision.ExecutionPlan {
		// Check basic step structure
		if step.ID == "" {
			t.Errorf("❌ Step missing ID: %+v", step)
		}
		if step.Name == "" {
			t.Errorf("❌ Step missing Name: %+v", step)
		}
		if step.Action == "" {
			t.Errorf("❌ Step missing Action: %+v", step)
		}

		// Check for expected EC2+ALB components
		stepText := step.Name + " " + step.Description + " " + step.ResourceID
		for _, component := range expectedEC2ALBComponents {
			if strings.Contains(strings.ToLower(stepText), strings.ToLower(component)) {
				foundComponents[component] = true
			}
		}

		t.Logf("📋 Step: %s | Action: %s | Resource: %s", step.Name, step.Action, step.ResourceID)
	}

	// Verify we found key EC2+ALB components
	missingComponents := []string{}
	for _, component := range expectedEC2ALBComponents {
		if !foundComponents[component] {
			missingComponents = append(missingComponents, component)
		}
	}

	if len(missingComponents) > 0 {
		t.Logf("⚠️ Warning: Some expected EC2+ALB components not found in plan: %v", missingComponents)
		t.Logf("📝 This may be acceptable if AI structured the plan differently")
	}

	// Log analysis of existing state impact
	if len(existingState.Resources) > 0 {
		t.Logf("🔍 Plan generated with %d existing resources in context", len(existingState.Resources))
	} else {
		t.Logf("🔍 Plan generated with empty state context")
	}
}

// testStateAwarePlanningLogic validates that the AI properly considered existing state
func testStateAwarePlanningLogic(t *testing.T, decision *types.AgentDecision, existingState *types.InfrastructureState, prompt string) {
	// Check if AI decision mentions handling existing resources
	decisionText := decision.Reasoning + " " + decision.Action

	if len(existingState.Resources) > 0 {
		// AI should show awareness of existing infrastructure
		hasStateAwareness := strings.Contains(strings.ToLower(decisionText), "existing") ||
			strings.Contains(strings.ToLower(decisionText), "current") ||
			strings.Contains(strings.ToLower(decisionText), "already") ||
			strings.Contains(strings.ToLower(decisionText), "present")

		if hasStateAwareness {
			t.Logf("✅ AI demonstrated awareness of existing infrastructure state")
		} else {
			t.Logf("⚠️ AI may not have explicitly mentioned existing state (this could still be acceptable)")
		}
	}

	// Check that the plan is reasonable given the prompt requirements
	promptLower := strings.ToLower(prompt)
	requiresEC2 := strings.Contains(promptLower, "ec2")
	requiresALB := strings.Contains(promptLower, "load balancer") || strings.Contains(promptLower, "alb")

	if requiresEC2 {
		hasEC2Plan := false
		for _, step := range decision.ExecutionPlan {
			stepText := strings.ToLower(step.Name + " " + step.Description)
			if strings.Contains(stepText, "ec2") || strings.Contains(stepText, "instance") {
				hasEC2Plan = true
				break
			}
		}
		if hasEC2Plan {
			t.Logf("✅ Plan includes EC2 components as required")
		} else {
			t.Logf("⚠️ Plan may not include explicit EC2 components")
		}
	}

	if requiresALB {
		hasALBPlan := false
		for _, step := range decision.ExecutionPlan {
			stepText := strings.ToLower(step.Name + " " + step.Description)
			if strings.Contains(stepText, "load") || strings.Contains(stepText, "balancer") || strings.Contains(stepText, "alb") {
				hasALBPlan = true
				break
			}
		}
		if hasALBPlan {
			t.Logf("✅ Plan includes ALB components as required")
		} else {
			t.Logf("⚠️ Plan may not include explicit ALB components")
		}
	}
}

// testIdempotencyWithExistingState tests that the AI handles idempotency correctly
func testIdempotencyWithExistingState(t *testing.T, agent *StateAwareAgent, mockSuite *mocks.MockTestSuite,
	decisionContext *DecisionContext, prompt string) {

	t.Logf("🔄 Testing idempotency by running the same request again...")

	// Execute the same request again to test idempotency
	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*2)
	defer cancel()

	secondDecisionID := "test-idempotency-decision"
	secondDecision, err := agent.generateDecisionWithPlan(ctx, secondDecisionID, prompt, decisionContext)
	if err != nil {
		t.Errorf("❌ Second AI API call for idempotency test failed: %v", err)
		return
	}

	// Compare decisions to check for consistency
	t.Logf("🔍 Comparing decisions for consistency...")
	t.Logf("📊 First decision had %d steps", len(decisionContext.CurrentState.Resources))
	t.Logf("📊 Second decision has %d steps", len(secondDecision.ExecutionPlan))

	// The AI should potentially recognize that resources may already exist
	// or provide a plan that handles the existing state appropriately
	if len(secondDecision.ExecutionPlan) == 0 {
		t.Logf("✅ AI recognized no additional changes needed (perfect idempotency)")
	} else {
		t.Logf("📝 AI generated %d steps for the repeat request", len(secondDecision.ExecutionPlan))
		t.Logf("📝 This may indicate the AI is planning to create/update resources appropriately")
	}

	// Log the reasoning for the second decision
	if secondDecision.Reasoning != "" {
		t.Logf("🧠 AI reasoning for repeat request: %s", secondDecision.Reasoning)
	}
}

// testInfrastructureRealityCheck performs reality checks that simulate issues seen in actual AWS deployments
func testInfrastructureRealityCheck(t *testing.T, agent *StateAwareAgent, mockSuite *mocks.MockTestSuite, decision *types.AgentDecision) {
	t.Logf("🏗️ Running infrastructure reality checks...")

	// Reality Check 1: VPC CIDR Block Validation
	t.Logf("🔍 Reality Check 1: VPC CIDR validation...")
	for _, step := range decision.ExecutionPlan {
		if step.Action == "create" && strings.Contains(strings.ToLower(step.Name), "vpc") {
			if cidr, exists := step.Parameters["cidrBlock"]; exists {
				if cidrStr, ok := cidr.(string); ok {
					if !isValidCIDR(cidrStr) {
						t.Errorf("❌ Invalid CIDR block in step %s: %s", step.ID, cidrStr)
					}
				}
			}
		}
	}

	// Reality Check 2: Subnet CIDR Overlap Detection
	t.Logf("🔍 Reality Check 2: Subnet CIDR overlap detection...")
	subnetCIDRs := make(map[string]string)
	for _, step := range decision.ExecutionPlan {
		if step.Action == "create" && strings.Contains(strings.ToLower(step.Name), "subnet") {
			if cidr, exists := step.Parameters["cidrBlock"]; exists {
				if cidrStr, ok := cidr.(string); ok {
					if existingStep, exists := subnetCIDRs[cidrStr]; exists {
						t.Errorf("❌ CIDR overlap detected: Step %s and %s both use %s", step.ID, existingStep, cidrStr)
					}
					subnetCIDRs[cidrStr] = step.ID
				}
			}
		}
	}

	// Reality Check 3: Availability Zone Distribution
	t.Logf("🔍 Reality Check 3: Availability zone distribution...")
	azUsage := make(map[string]int)
	for _, step := range decision.ExecutionPlan {
		if step.Action == "create" && strings.Contains(strings.ToLower(step.Name), "subnet") {
			if az, exists := step.Parameters["availabilityZone"]; exists {
				if azStr, ok := az.(string); ok {
					azUsage[azStr]++
				}
			}
		}
	}
	if len(azUsage) < 2 {
		t.Logf("⚠️ Warning: Infrastructure should use multiple AZs for high availability")
	}

	// Reality Check 4: Security Group Rule Validation
	t.Logf("🔍 Reality Check 4: Security group rule validation...")
	for _, step := range decision.ExecutionPlan {
		if step.Action == "create" && strings.Contains(strings.ToLower(step.Name), "security") {
			if cidrIp, exists := step.Parameters["cidrIp"]; exists {
				if cidrIp == "0.0.0.0/0" {
					t.Logf("⚠️ Security Warning: Step %s allows access from anywhere (0.0.0.0/0)", step.ID)
				}
			}
		}
	}

	// Reality Check 5: Resource Naming Consistency
	t.Logf("🔍 Reality Check 5: Resource naming consistency...")
	namePatterns := make(map[string]int)
	for _, step := range decision.ExecutionPlan {
		if tags, exists := step.Parameters["tags"]; exists {
			if tagMap, ok := tags.(map[string]interface{}); ok {
				if name, exists := tagMap["Name"]; exists {
					if nameStr, ok := name.(string); ok {
						// Extract naming pattern
						parts := strings.Split(nameStr, "-")
						if len(parts) > 1 {
							pattern := parts[0] // e.g., "production" from "production-vpc"
							namePatterns[pattern]++
						}
					}
				}
			}
		}
	}

	if len(namePatterns) > 1 {
		t.Logf("⚠️ Warning: Multiple naming patterns detected: %v", namePatterns)
	}

	t.Logf("✅ Infrastructure reality checks completed")
}

// isValidCIDR performs basic CIDR validation
func isValidCIDR(cidr string) bool {
	// Basic validation - in real implementation would use net.ParseCIDR
	if !strings.Contains(cidr, "/") {
		return false
	}
	parts := strings.Split(cidr, "/")
	if len(parts) != 2 {
		return false
	}

	// Check for common valid patterns
	validPatterns := []string{
		"10.", "172.", "192.168.", "0.0.0.0"} // Private IP ranges + default route

	for _, pattern := range validPatterns {
		if strings.HasPrefix(parts[0], pattern) {
			return true
		}
	}

	return false
}

// testWebUIFlowSimulation simulates the exact flow that would happen in the web UI
func testWebUIFlowSimulation(t *testing.T, agent *StateAwareAgent, mockSuite *mocks.MockTestSuite, decision *types.AgentDecision) {
	t.Logf("🌐 Running Web UI flow simulation...")

	// Simulate Web UI Step 1: Process Request (already done in main test)
	t.Logf("✅ Step 1: Process Request - Already completed")

	// Simulate Web UI Step 2: Plan Validation (user reviews plan)
	t.Logf("🔍 Step 2: Simulating plan review and validation...")

	// Check if plan has reasonable number of steps (not too many, not too few)
	if len(decision.ExecutionPlan) < 5 {
		t.Logf("⚠️ Warning: Plan has very few steps (%d) - might be incomplete", len(decision.ExecutionPlan))
	}
	if len(decision.ExecutionPlan) > 50 {
		t.Logf("⚠️ Warning: Plan has many steps (%d) - might be overly complex", len(decision.ExecutionPlan))
	}

	// Simulate Web UI Step 3: Execution with progress updates
	t.Logf("⚙️ Step 3: Simulating execution with WebSocket progress updates...")

	// Create a channel to simulate WebSocket updates
	progressChan := make(chan *types.ExecutionUpdate, 100)
	defer close(progressChan)

	// Start a goroutine to consume progress updates (like WebSocket would)
	go func() {
		updateCount := 0
		for update := range progressChan {
			updateCount++
			if updateCount <= 5 { // Log first few updates to avoid spam
				t.Logf("📡 Progress Update %d: %s - %s", updateCount, update.Type, update.Message)
			}
		}
		t.Logf("📡 Total progress updates received: %d", updateCount)
	}()

	// Simulate execution with progress reporting
	ctx := context.Background()
	execution, err := agent.ExecuteConfirmedPlanWithDryRun(ctx, decision, progressChan, true) // dry run
	if err != nil {
		t.Errorf("❌ Simulated execution failed: %v", err)
		return
	}

	if execution.Status != "completed" {
		t.Errorf("❌ Execution did not complete successfully: %s", execution.Status)
	}

	// Simulate Web UI Step 4: Post-execution state verification
	t.Logf("🔍 Step 4: Simulating post-execution state verification...")

	// This would be called by the web UI to refresh the dashboard
	ctx2 := context.Background()
	_, err = mockSuite.MCPServer.CallTool(ctx2, "analyze-infrastructure-state", map[string]interface{}{
		"include_drift_detection": true,
		"detailed_analysis":       true,
	})
	if err != nil {
		t.Errorf("❌ Post-execution state analysis failed: %v", err)
	}

	t.Logf("✅ Web UI flow simulation completed successfully")
}

func testRealAIWithComprehensiveThreeLayerPrompt(t *testing.T) {
	// Comprehensive Three-Tier infrastructure prompt
	comprehensivePrompt := comprehensiveThreeLayerPrompt()

	// Setup test configuration
	cfg, err := setupRealConfiguration()
	if err != nil {
		t.Fatalf("Failed to setup real configuration: %v", err)
	}

	// Setup real LLM client
	llmClient, err := setupRealLLMClient(cfg)
	if err != nil {
		t.Fatalf("Failed to setup real LLM client: %v", err)
	}

	// Setup test agent with real AI and comprehensive mock infrastructure
	agent, mockSuite, err := setupAgentWithRealAI(cfg, llmClient)
	if err != nil {
		t.Fatalf("Failed to setup test agent: %v", err)
	}
	// defer mockSuite.Reset()

	// Create decision context using mock state manager
	emptyState := &types.InfrastructureState{
		Resources: make(map[string]*types.ResourceState),
	}

	decisionContext := &DecisionContext{
		Request:             comprehensivePrompt,
		CurrentState:        emptyState,
		DiscoveredState:     []*types.ResourceState{},
		Conflicts:           []*types.ConflictResolution{},
		DeploymentOrder:     []string{},
		ResourceCorrelation: make(map[string]*ResourceMatch),
	}

	t.Logf("🚀 Starting comprehensive three-tier execution pipeline test with real AI integration and mock infrastructure...")

	// Step 1: Test AI Decision Making
	t.Logf("📡 Step 1: Making real AI API call to process comprehensive three-tier infrastructure request...")

	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*5) // Extended timeout for complex infrastructure
	defer cancel()

	decisionID := "test-comprehensive-three-tier-decision"
	decision, err := agent.generateDecisionWithPlan(ctx, decisionID, comprehensivePrompt, decisionContext)
	if err != nil {
		t.Fatalf("❌ Real AI API call failed: %v", err)
	}

	t.Logf("✅ Step 1 Complete: AI generated decision with %d execution steps", len(decision.ExecutionPlan))

	// Step 2: Validate AI-Generated Plan Structure
	t.Logf("🔍 Step 2: Validating AI-generated execution plan structure...")
	validateExecutionPlanStructure(t, agent, decision)
	t.Logf("✅ Step 2 Complete: Execution plan structure is valid")

	// Step 3: Execute Full Flow with Mock Infrastructure
	t.Logf("⚙️ Step 3: Executing full infrastructure plan using mock functions...")
	testExecuteFullPlanWithMocks(t, agent, mockSuite, decision)
	t.Logf("✅ Step 3 Complete: Full plan execution completed successfully")

	// Step 4: Validate Mock Integration
	t.Logf("🔬 Step 4: Validating mock infrastructure integration...")
	testValidateMockIntegration(t, mockSuite, decision)
	t.Logf("✅ Step 4 Complete: Mock integration validated")

	t.Logf("🎉 All tests completed successfully! Three-tier AI + Mock infrastructure integration validated.")
}

func validateExecutionPlanStructure(t *testing.T, agent *StateAwareAgent, decision *types.AgentDecision) {
	if len(decision.ExecutionPlan) == 0 {
		t.Fatal("❌ AI generated empty execution plan")
	}

	planValidActions := map[string]bool{
		"create": true,
		"query":  true,
		// "update":   true,
		// "delete":   true,
		// "validate": true,
	}

	// Get available MCP tools for validation
	agent.capabilityMutex.RLock()
	availableTools := make(map[string]bool)
	for toolName := range agent.mcpTools {
		availableTools[toolName] = true
	}
	agent.capabilityMutex.RUnlock()

	// Validate each plan step
	for i, planStep := range decision.ExecutionPlan {
		// Validate action type
		if !planValidActions[planStep.Action] {
			t.Fatalf("❌ Invalid plan action '%s' in step %d (%s)", planStep.Action, i+1, planStep.ID)
		}

		// Validate MCP tool exists if specified
		if planStep.MCPTool != "" {
			if !availableTools[planStep.MCPTool] {
				availableToolsList := make([]string, 0, len(availableTools))
				for tool := range availableTools {
					availableToolsList = append(availableToolsList, tool)
				}

				t.Fatalf("❌ Invalid MCP tool '%s' in step %d (%s): tool not found in discovered capabilities. Available tools: %v",
					planStep.MCPTool, i+1, planStep.ID, availableToolsList)
			}
		}
	}

	// Validate plan has expected infrastructure components
	foundComponents := make(map[string]bool)
	expectedComponents := []string{"vpc", "subnet", "gateway", "route", "security"}

	for _, step := range decision.ExecutionPlan {
		// Check basic step structure
		if step.ID == "" {
			t.Errorf("❌ Step missing ID: %+v", step)
		}
		if step.Name == "" {
			t.Errorf("❌ Step missing Name: %+v", step)
		}
		if step.Action == "" {
			t.Errorf("❌ Step missing Action: %+v", step)
		}

		// Check for expected infrastructure components
		stepText := step.Name + " " + step.Description + " " + step.ResourceID
		for _, component := range expectedComponents {
			if strings.Contains(strings.ToLower(stepText), strings.ToLower(component)) {
				foundComponents[component] = true
			}
		}

		t.Logf("📋 Step: %s | Action: %s | Resource: %s", step.Name, step.Action, step.ResourceID)
	}

	// Verify we found key infrastructure components
	missingComponents := []string{}
	for _, component := range expectedComponents {
		if !foundComponents[component] {
			missingComponents = append(missingComponents, component)
		}
	}

	if len(missingComponents) > 0 {
		t.Logf("⚠️ Warning: Some expected components not found in plan: %v", missingComponents)
		t.Logf("📝 This may be okay if AI structured the plan differently")
	}
}

// testExecuteFullPlanWithMocks executes the AI-generated plan using mock infrastructure
// This simulates the same flow as ExecuteConfirmedPlanWithDryRun but with mock tools
func testExecuteFullPlanWithMocks(t *testing.T, agent *StateAwareAgent, mockSuite *mocks.MockTestSuite, decision *types.AgentDecision) {
	t.Logf("🚀 Executing %d plan steps with mock infrastructure...", len(decision.ExecutionPlan))

	// Create mock execution tracking like the real ExecuteConfirmedPlanWithDryRun
	execution := &types.PlanExecution{
		ID:        "mock-execution-" + decision.ID,
		Name:      fmt.Sprintf("Execute %s", decision.Action),
		Status:    "running",
		StartedAt: time.Now(),
		Steps:     []*types.ExecutionStep{},
		Changes:   []*types.ChangeDetection{},
		Errors:    []string{},
	}

	t.Logf("📊 Created execution plan: ID=%s, Status=%s", execution.ID, execution.Status)

	// Execute each step like the real executeExecutionStep function
	for i, planStep := range decision.ExecutionPlan {
		t.Logf("⚙️ Step %d/%d: Executing %s action on %s", i+1, len(decision.ExecutionPlan), planStep.Action, planStep.ResourceID)

		startTime := time.Now()

		// Create execution step tracking (mirroring real executeExecutionStep)
		executionStep := &types.ExecutionStep{
			ID:        planStep.ID,
			Name:      planStep.Name,
			Status:    "running",
			Resource:  planStep.ResourceID,
			Action:    planStep.Action,
			StartedAt: &startTime,
		}

		// Execute step using mock infrastructure (mirroring the real action switch)
		var result map[string]interface{}
		var err error

		switch planStep.Action {
		case "create":
			result, err = agent.executeCreateAction(planStep, nil, execution.ID)
		case "update":
			result, err = testExecuteUpdateActionWithMocks(t, mockSuite, planStep)
		case "delete":
			result, err = testExecuteDeleteActionWithMocks(t, mockSuite, planStep)
		case "validate":
			result, err = testExecuteValidateActionWithMocks(t, mockSuite, planStep)
		case "query":
			result, err = agent.executeQueryAction(planStep, nil, execution.ID)
		default:
			err = fmt.Errorf("unknown action type: %s", planStep.Action)
		}

		// Complete step tracking (mirroring real execution)
		endTime := time.Now()
		executionStep.CompletedAt = &endTime
		executionStep.Duration = endTime.Sub(startTime)

		if err != nil {
			executionStep.Status = "failed"
			executionStep.Error = err.Error()
			execution.Errors = append(execution.Errors, err.Error())

			// Check if this is a mock validation error that we can tolerate
			if strings.Contains(err.Error(), "invalid subnet ID format") ||
				strings.Contains(err.Error(), "validation error for parameter") ||
				strings.Contains(err.Error(), "mock MCP tool call failed") {
				t.Logf("⚠️ Step %d failed with mock validation error (expected): %v", i+1, err)
			} else {
				t.Errorf("❌ Step %d failed: %v", i+1, err)
			}
		} else {
			executionStep.Status = "completed"
			executionStep.Output = result
			t.Logf("✅ Step %d completed successfully in %v", i+1, executionStep.Duration)
		}

		execution.Steps = append(execution.Steps, executionStep)
	}

	// Complete execution tracking
	// completedAt := time.Now()
	// execution.CompletedAt = &completedAt

	// Count serious errors (non-mock validation errors)
	seriousErrorCount := 0
	mockValidationErrorCount := 0

	for _, errMsg := range execution.Errors {
		if strings.Contains(errMsg, "invalid subnet ID format") ||
			strings.Contains(errMsg, "validation error for parameter") ||
			strings.Contains(errMsg, "mock MCP tool call failed") {
			mockValidationErrorCount++
		} else {
			seriousErrorCount++
		}
	}

	if seriousErrorCount > 0 {
		execution.Status = "failed"
		t.Fatalf("❌ Execution completed with %d serious errors", seriousErrorCount)
	} else {
		execution.Status = "completed"
		if mockValidationErrorCount > 0 {
			t.Logf("✅ Execution completed successfully with %d steps (%d mock validation errors tolerated)", len(execution.Steps), mockValidationErrorCount)
		} else {
			t.Logf("✅ Execution completed successfully with %d steps", len(execution.Steps))
		}
	}
}

// testExecuteUpdateActionWithMocks simulates update operations
func testExecuteUpdateActionWithMocks(t *testing.T, mockSuite *mocks.MockTestSuite, planStep *types.ExecutionPlanStep) (map[string]interface{}, error) {
	t.Logf("🔄 Updating %s resource: %s", planStep.ResourceID, planStep.Name)

	// Mock update via state management
	testResource := &types.ResourceState{
		ID:         "mock-" + planStep.ResourceID,
		Type:       planStep.ResourceID,
		Status:     "updated",
		Properties: planStep.Parameters,
	}

	mockSuite.StateManager.AddResource(testResource)

	return map[string]interface{}{
		"action":      "update",
		"resource_id": testResource.ID,
		"status":      "completed",
	}, nil
}

// testExecuteDeleteActionWithMocks simulates delete operations
func testExecuteDeleteActionWithMocks(t *testing.T, mockSuite *mocks.MockTestSuite, planStep *types.ExecutionPlanStep) (map[string]interface{}, error) {
	t.Logf("🗑️ Deleting %s resource: %s", planStep.ResourceID, planStep.Name)

	return map[string]interface{}{
		"action":      "delete",
		"resource_id": "mock-" + planStep.ResourceID,
		"status":      "completed",
	}, nil
}

// testExecuteValidateActionWithMocks simulates validation operations
func testExecuteValidateActionWithMocks(t *testing.T, mockSuite *mocks.MockTestSuite, planStep *types.ExecutionPlanStep) (map[string]interface{}, error) {
	t.Logf("✅ Validating %s resource: %s", planStep.ResourceID, planStep.Name)

	return map[string]interface{}{
		"action":            "validate",
		"resource_id":       "mock-" + planStep.ResourceID,
		"validation_result": "passed",
	}, nil
}

// testValidateMockIntegration validates that mock infrastructure components are working correctly
func testValidateMockIntegration(t *testing.T, mockSuite *mocks.MockTestSuite, decision *types.AgentDecision) {
	t.Logf("🔍 Validating mock infrastructure integration...")

	// Test 1: Mock MCP Server Integration
	t.Logf("📡 Testing Mock MCP Server...")
	ctx := context.Background()
	testResult, err := mockSuite.MCPServer.CallTool(ctx, "describe_vpcs", map[string]interface{}{})
	if err != nil {
		t.Errorf("❌ Mock MCP Server failed: %v", err)
	} else {
		t.Logf("✅ Mock MCP Server working: %v", testResult != nil)
	}

	// Test 2: Mock State Manager Integration
	t.Logf("💾 Testing Mock State Manager...")
	testResource := &types.ResourceState{
		ID:     "test-validation-resource",
		Type:   "vpc",
		Status: "active",
		Properties: map[string]interface{}{
			"cidr": "10.0.0.0/16",
		},
	}
	mockSuite.StateManager.AddResource(testResource)

	// Verify resource was added
	resources := mockSuite.StateManager.GetResources()
	found := false
	for _, resource := range resources {
		if resource.ID == "test-validation-resource" {
			found = true
			break
		}
	}

	if !found {
		t.Error("❌ Mock State Manager failed to store resource")
	} else {
		t.Logf("✅ Mock State Manager working: stored %d resources", len(resources))
	}

	// Test 3: Mock AWS Client Integration
	t.Logf("☁️ Testing Mock AWS Client...")
	mockSuite.AWSClient.AddDefaultTestData()
	// Just verify it doesn't panic - AWS client functionality is tested in its own unit tests
	t.Logf("✅ Mock AWS Client working")

	// Note: Retrieval registry tests removed - retrieval functions are deprecated
	// All resource queries now use MCP tools with "query" action

	t.Logf("✅ All mock integration tests passed!")
}

// testEnhancedPreExecutionValidation performs comprehensive validation before execution
func testEnhancedPreExecutionValidation(t *testing.T, agent *StateAwareAgent, mockSuite *mocks.MockTestSuite, decision *types.AgentDecision) {
	t.Logf("🔍 Running enhanced pre-execution validation...")

	// Test 1: Validate Resource ID Uniqueness in Plan
	t.Logf("🔍 Test 1: Validating resource ID uniqueness...")
	resourceIDs := make(map[string]bool)
	for _, step := range decision.ExecutionPlan {
		if step.ResourceID == "" {
			t.Errorf("❌ Step %s has empty ResourceID", step.ID)
			continue
		}
		if resourceIDs[step.ResourceID] {
			t.Logf("⚠️ Warning: Duplicate ResourceID '%s' found in plan - this could cause state conflicts", step.ResourceID)
		}
		resourceIDs[step.ResourceID] = true
	}
	t.Logf("✅ Resource ID uniqueness check completed")

	// Test 2: Validate Dependency Resolution Logic
	t.Logf("🔍 Test 2: Validating dependency resolution...")
	for _, step := range decision.ExecutionPlan {
		// Check if step has dependency references
		if step.Parameters != nil {
			validateDependencyReferences(t, step, decision.ExecutionPlan)
		}
	}
	t.Logf("✅ Dependency resolution validation completed")

	// Test 3: Validate Parameter Completeness
	t.Logf("🔍 Test 3: Validating parameter completeness...")
	for _, step := range decision.ExecutionPlan {
		validateParameterCompleteness(t, step)
	}
	t.Logf("✅ Parameter completeness validation completed")

	// Test 4: Validate Tool Availability
	t.Logf("🔍 Test 4: Validating tool availability...")
	for _, step := range decision.ExecutionPlan {
		if step.Action == "create" && step.MCPTool != "" {
			// Simulate checking if tool exists in mock MCP server
			ctx := context.Background()
			_, err := mockSuite.MCPServer.CallTool(ctx, step.MCPTool, map[string]interface{}{})
			if err != nil && !strings.Contains(err.Error(), "validation") {
				t.Errorf("❌ Tool '%s' not available in MCP server: %v", step.MCPTool, err)
			}
		}
	}
	t.Logf("✅ Tool availability validation completed")
}

// testEnhancedPostExecutionValidation performs comprehensive validation after execution
func testEnhancedPostExecutionValidation(t *testing.T, agent *StateAwareAgent, mockSuite *mocks.MockTestSuite, decision *types.AgentDecision) {
	t.Logf("🔍 Running enhanced post-execution validation...")

	// Test 1: Validate State Consistency
	t.Logf("🔍 Test 1: Validating state consistency...")
	resources := mockSuite.StateManager.GetResources()

	// Create a map for quick lookup
	resourceMap := make(map[string]*types.ResourceState)
	for _, resource := range resources {
		resourceMap[resource.ID] = resource
	}

	// Check if all created resources are in state
	expectedResources := 0
	for _, step := range decision.ExecutionPlan {
		if step.Action == "create" {
			expectedResources++
		}
	}

	if len(resources) == 0 {
		t.Errorf("❌ No resources found in state after execution")
	}
	t.Logf("✅ Found %d resources in state (expected approximately %d)", len(resources), expectedResources)

	// Test 2: Validate Resource Dependencies in State
	t.Logf("🔍 Test 2: Validating resource dependencies in state...")
	for _, step := range decision.ExecutionPlan {
		if len(step.DependsOn) > 0 {
			// Verify dependencies exist in state
			for _, depID := range step.DependsOn {
				found := false
				for _, resource := range resources {
					if resource.ID == depID || strings.Contains(resource.ID, depID) {
						found = true
						break
					}
				}
				if !found {
					t.Logf("⚠️ Warning: Dependency '%s' for step '%s' not found in final state", depID, step.ID)
				}
			}
		}
	}
	t.Logf("✅ Resource dependency validation completed")

	// Test 3: Validate Resource Properties
	t.Logf("🔍 Test 3: Validating resource properties...")
	for _, resource := range resources {
		if resource.Type == "" {
			t.Errorf("❌ Resource %s has empty type", resource.ID)
		}
		if resource.Status == "" {
			t.Errorf("❌ Resource %s has empty status", resource.ID)
		}
		if resource.Properties == nil {
			t.Logf("⚠️ Warning: Resource %s has nil properties", resource.ID)
		}
	}
	t.Logf("✅ Resource properties validation completed")

	// Test 4: Simulate Web UI State Retrieval
	t.Logf("🔍 Test 4: Simulating web UI state retrieval...")
	ctx := context.Background()
	_, err := mockSuite.MCPServer.CallTool(ctx, "analyze-infrastructure-state", map[string]interface{}{
		"include_drift_detection": true,
		"detailed_analysis":       true,
	})
	if err != nil {
		t.Errorf("❌ Failed to analyze infrastructure state: %v", err)
	} else {
		t.Logf("✅ Infrastructure state analysis successful")
	}
}

// testErrorScenarios tests various error scenarios that could occur in actual execution
func testErrorScenarios(t *testing.T, agent *StateAwareAgent, mockSuite *mocks.MockTestSuite, decision *types.AgentDecision) {
	t.Logf("🚨 Running error scenario testing...")

	// Test 1: Simulate AWS API Errors
	t.Logf("🚨 Test 1: Simulating AWS API errors...")

	// Enable error simulation on mock client
	mockSuite.AWSClient.EnableErrorSimulation(0.3) // 30% error rate
	defer mockSuite.AWSClient.DisableErrorSimulation()

	// Try executing a simple step with error simulation
	if len(decision.ExecutionPlan) > 0 {
		firstStep := decision.ExecutionPlan[0]
		t.Logf("🚨 Testing error resilience with step: %s", firstStep.Name)

		// Create a mock execution context
		execution := &types.PlanExecution{
			ID:     "error-test-execution",
			Status: "running",
			Steps:  []*types.ExecutionStep{},
		}

		// Execute step with error simulation
		var result map[string]interface{}
		var err error

		if firstStep.Action == "create" {
			result, err = agent.executeCreateAction(firstStep, nil, execution.ID)
		}

		if err != nil {
			t.Logf("✅ Error simulation working: got expected error: %v", err)
		} else {
			t.Logf("✅ Step completed despite error simulation: %v", result != nil)
		}
	}

	// Test 2: Simulate Dependency Resolution Failures
	t.Logf("🚨 Test 2: Simulating dependency resolution failures...")

	// Create a step with invalid dependency reference
	invalidStep := &types.ExecutionPlanStep{
		ID:         "test-invalid-dependency",
		Name:       "Test Invalid Dependency",
		Action:     "create",
		ResourceID: "test-resource",
		Parameters: map[string]interface{}{
			"vpcId": "{{non-existent-step.resourceId}}",
		},
		DependsOn: []string{"non-existent-step"},
	}

	// Try to resolve dependencies - should fail gracefully
	t.Logf("🚨 Testing invalid dependency: %s", invalidStep.Parameters["vpcId"])

	// Test 3: Simulate State Corruption
	t.Logf("🚨 Test 3: Simulating state corruption scenarios...")

	// Add a resource with invalid data to state
	corruptedResource := &types.ResourceState{
		ID:     "corrupted-resource",
		Type:   "", // Empty type should cause issues
		Status: "unknown",
		Properties: map[string]interface{}{
			"invalid": make(chan int), // Non-serializable data
		},
	}

	// Try adding corrupted resource (should handle gracefully)
	mockSuite.StateManager.AddResource(corruptedResource)

	// Test 4: Simulate Network/Timeout Scenarios
	t.Logf("🚨 Test 4: Simulating timeout scenarios...")

	// Create a context with very short timeout
	shortCtx, cancel := context.WithTimeout(context.Background(), time.Millisecond*1)
	defer cancel()

	// Try to make an API call with short timeout
	_, err := mockSuite.MCPServer.CallTool(shortCtx, "list-vpcs", map[string]interface{}{})
	if err != nil {
		t.Logf("✅ Timeout handling working: %v", err)
	}

	t.Logf("✅ Error scenario testing completed")
}

// validateDependencyReferences validates dependency references in step parameters
func validateDependencyReferences(t *testing.T, step *types.ExecutionPlanStep, allSteps []*types.ExecutionPlanStep) {
	// Create a map of all step IDs for validation
	stepMap := make(map[string]*types.ExecutionPlanStep)
	for _, s := range allSteps {
		stepMap[s.ID] = s
	}

	// Check parameters for dependency references
	for key, value := range step.Parameters {
		if strVal, ok := value.(string); ok {
			// Look for dependency references like {{step-id.resourceId}}
			if strings.HasPrefix(strVal, "{{") && strings.HasSuffix(strVal, "}}") {
				ref := strings.TrimPrefix(strings.TrimSuffix(strVal, "}}"), "{{")
				parts := strings.Split(ref, ".")
				if len(parts) > 0 {
					refStepID := parts[0]
					if _, exists := stepMap[refStepID]; !exists {
						t.Errorf("❌ Step %s parameter %s references non-existent step: %s", step.ID, key, refStepID)
					}
				}
			}
		}
	}
}

// validateParameterCompleteness validates that steps have required parameters
func validateParameterCompleteness(t *testing.T, step *types.ExecutionPlanStep) {
	// Define required parameters for common actions
	requiredParams := map[string][]string{
		"create-vpc":            {"cidrBlock"},
		"create-subnet":         {"vpcId", "cidrBlock"},
		"create-security-group": {"vpcId", "groupName"},
		"create-ec2-instance":   {"imageId", "instanceType"},
	}

	if step.MCPTool != "" {
		if required, exists := requiredParams[step.MCPTool]; exists {
			for _, param := range required {
				// Check both Parameters and ToolParameters
				hasParam := false
				if _, exists := step.Parameters[param]; exists {
					hasParam = true
				}
				if step.ToolParameters != nil {
					if _, exists := step.ToolParameters[param]; exists {
						hasParam = true
					}
				}

				if !hasParam {
					t.Errorf("❌ Step %s missing required parameter: %s", step.ID, param)
				}
			}
		}
	}
}

```
Page 98/104FirstPrevNextLast