|
1 | | -# AWS CloudFormation Language Server for Code Editors |
| 1 | +# AWS CloudFormation Language Server |
2 | 2 |
|
3 | 3 | <div align="center"> |
4 | 4 |
|
|
8 | 8 |
|
9 | 9 | </div> |
10 | 10 |
|
11 | | -A LSP server implementation that provides intelligent editing support for CloudFormation templates in JSON and YAML formats. |
| 11 | +The AWS CloudFormation Language Server provides auto-completion, validation, navigation, and refactoring for CloudFormation templates. |
| 12 | +The server implements the Language Server Protocol (LSP) to enable code editors to offer intelligent editing support for JSON and YAML Infrastructure as Code templates. |
12 | 13 |
|
13 | 14 | ## Features |
14 | 15 |
|
15 | | -### Intelligent Code Completion |
16 | | -- **Resource Types**: Auto-complete AWS resource types with fuzzy matching |
17 | | -- **Properties**: Context-aware property suggestions for CloudFormation resources |
18 | | -- **Intrinsic Functions**: Complete function names and parameter suggestions |
19 | | -- **Parameters & References**: Auto-complete template parameters, conditions, and mappings |
20 | | -- **Template Sections**: Top-level CloudFormation section completion |
21 | | - |
22 | | -### Real-time Validation |
23 | | -- **Syntax Validation**: Immediate feedback on JSON/YAML syntax errors |
24 | | -- **Schema Validation**: CloudFormation resource schema enforcement with regional support |
25 | | -- **cfn-lint Integration**: Python-based linting with comprehensive rule validation |
26 | | -- **AWS Guard Integration**: Policy-as-code validation for security and compliance |
| 16 | +### Code Completion |
| 17 | +- **Resource Types** - Auto-completes AWS resource types with fuzzy matching |
| 18 | +- **Properties** - Context-aware property suggestions for CloudFormation resources |
| 19 | +- **Intrinsic Functions** - Function names and parameter suggestions |
| 20 | +- **Parameters & References** - Template parameters, conditions, and mappings |
| 21 | +- **Template Sections** - Top-level CloudFormation sections |
| 22 | + |
| 23 | +### Validation |
| 24 | +- **Syntax** - Immediate feedback on JSON and YAML syntax errors |
| 25 | +- **Schema** - CloudFormation resource schema enforcement with regional support |
| 26 | +- **cfn-lint** - Python-based linting with comprehensive rules |
| 27 | +- **AWS Guard** - Policy-as-code validation for security and compliance |
| 28 | + |
| 29 | +### Code Actions & Refactoring |
| 30 | +- **Quick Fixes** - Fixes for common template errors |
| 31 | +- **Extract to Parameter** - Refactors hardcoded values into template parameters |
| 32 | +- **Related Resources** - Inserts related AWS resources based on template context |
| 33 | +- **Diagnostic Actions** - Actionable suggestions for validation errors |
27 | 34 |
|
28 | 35 | ### Documentation & Navigation |
29 | | -- **Hover Documentation**: Contextual help for resources, properties, and functions |
30 | | -- **Go-to-Definition**: Navigate to CloudFormation reference definitions |
31 | | -- **Document Symbols**: Template structure navigation and outline view |
32 | | -- **Parameter Information**: Type and constraint documentation |
| 36 | +- **Hover Documentation** - Contextual help for resources, properties, and functions |
| 37 | +- **Go-to-Definition** - Navigate to CloudFormation reference definitions |
| 38 | +- **Document Symbols** - Template structure navigation and outline view |
| 39 | +- **Parameter Information** - Type and constraint documentation |
33 | 40 |
|
34 | 41 | ### AWS Integration |
35 | | -- **Stack Operations**: List and manage CloudFormation stacks |
36 | | -- **Resource Discovery**: Browse available AWS resource types by region |
37 | | -- **Template Validation**: Server-side CloudFormation template validation |
38 | | -- **Template Deployment**: Deploy templates directly from the editor |
39 | | -- **Resource State Import**: Import existing AWS resources into templates |
| 42 | +- **Stack Operations** - List and manage CloudFormation stacks |
| 43 | +- **Resource Discovery** - Browse available AWS resource types by region |
| 44 | +- **Template Validation** - Server-side template validation using CloudFormation |
| 45 | +- **Template Deployment** - Deploy templates directly from the editor |
| 46 | +- **Resource State Import** - Import existing AWS resources into templates |
| 47 | +- **Clone Resource** - Create new resources using existing resource configurations as reference |
| 48 | +- **IaC Generator** - Scan AWS accounts and generate CloudFormation templates from existing resources |
| 49 | +- **Artifact Export** - Export and upload template artifacts to S3 for deployment |
| 50 | + |
| 51 | +### Code Lens Actions |
| 52 | +- **Validate Deployment** - Validate template deployment from the editor |
| 53 | +- **Deploy Template** - Deploy templates with a single click |
| 54 | +- **Open Stack Template** - Open managed stack templates for resources |
40 | 55 |
|
41 | 56 | ### Advanced Capabilities |
42 | | -- **Multi-Format Support**: Native JSON and YAML CloudFormation template processing |
43 | | -- **Partial Parsing**: Intelligent completion even in incomplete or malformed templates |
44 | | -- **Regional Schemas**: Automatic schema retrieval and caching for different AWS regions |
45 | | - |
46 | | -## Requirements |
47 | | - |
48 | | -- **Node.js**: Version 22.15.0 to 22.17.0 |
49 | | -- **npm**: Version 10.5.0 or higher |
| 57 | +- **Multi-Format Support** - JSON and YAML CloudFormation template processing |
| 58 | +- **Partial Parsing** - Completion in incomplete or malformed templates |
| 59 | +- **Regional Schemas** - Automatic schema retrieval and caching for different AWS regions |
| 60 | +- **Tree-sitter Parsing** - Fast and accurate syntax parsing |
50 | 61 |
|
51 | 62 | ## Telemetry |
52 | 63 |
|
53 | 64 | The CloudFormation Language Server collects anonymous usage metrics. See [Telemetry](src/telemetry/README.md) for details on what is collected and how to control telemetry settings. |
54 | 65 |
|
55 | 66 | ## License |
56 | 67 |
|
57 | | -Licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for details. |
| 68 | +This project is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for details. |
0 commit comments