-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
113 lines (99 loc) · 3.54 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE html>
<html lang="en">
<head>
<title>Exosphere</title>
<meta name="description" content="High level AWS CloudFormation language and compiler" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div class="wrapper">
<header>
<h1 class="heading">Exosphere</h1>
<h2 class="subheading">High level AWS CloudFormation language and compiler</h2>
<nav class="navbar">
<a class="navbar_item" href="https://github.com/exosphere-lang/compiler">compiler</a> ∘ <a class="navbar_item" href="https://github.com/exosphere-lang/examples">examples</a> ∘ <a class="navbar_item" href="https://github.com/exosphere-lang/grammar">grammar</a>
</nav>
</header>
<main>
<p>The goal of Exosphere is to simplify the creation of Amazon Web Service CloudFormation templates and create useful compile-time feedback to the user. Exosphere is capable of turning .exo files into CloudFormation templates, .exo files are parsed and checked to ensure any generated CloudFormation is valid.</p>
<p>For example Exosphere is able to take the following input:</p>
<pre class="code_block">ExploreGithubArtifacts S3</pre>
<p>Converting it into the following valid CloudFormation template:</p>
<pre class="code_block">
{
"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {
"ExploreGithubArtifacts": {
"Type": "AWS::S3::Bucket",
}
}
}
</pre>
<h3 class="subsubheading">Documentation</h3>
<p>The format for an exosphere (.exo) file is:</p>
<pre class="code_block">
resource_name resource_type { propKey1 propValue1, propKey2 propValue2, ... }
</pre>
<p>The properties are optional. If you omit them, then the brackets are not needed. If you include properties, then the brackets are required. However, the brackets and properties can span multiple lines. Please see the table below for more details.</p>
<p>An example of this would be:</p>
<pre class="code_block">
MyS3Bucket S3
</pre>
<p>which would produce the cloudformation seen above.
<h3 class="subsubheading">Currently Supported CloudFormation Types</h3>
<pre class="code_block">
CloudFormation Exosphere
AWS::S3::Bucket S3
AWS::ECS::Cluster ECSCluster
AWS::ApiGateway::Account ApiGatewayAccount
AWS::ApiGateway::ApiKey ApiGatewayApiKey
AWS::ApiGateway::ClientCertificate ApiGatewayClientCertificate
AWS::ApiGateway::RestApi ApiGatewayRestApi
AWS::ApiGateway::UsagePlan ApiGatewayUsagePlan
AWS::AppStream::Stack AppStreamStack
AWS::AppSync::ApiKey AppSyncApiKey
</pre>
</main>
<footer>
<p>© <a href="https://www.jacobclark.xyz">Jacob Clark</a> & <a href="https://www.chris-bacon.co.uk">Chris Bacon</a> 2019</p>
</footer>
</div>
</body>
</html>
<style>
html {
font-family: Raleway,HelveticaNeue,Helvetica Neue,Helvetica,Arial,sans-serif;
line-height: 1.2;
}
.navbar {
text-align: center;
}
.navbar_item {
text-decoration: overline;
color: #1eaedb;
}
.wrapper {
max-width: 960px;
padding: 48px;
margin: 0 auto;
background-color: beige;
}
.heading {
font-size: 3em;
font-weight: 300;
}
.subheading {
font-size: 2em;
font-weight: 300;
}
.subsubheading {
font-size: 1.5em;
font-weight: 300;
}
.code_block {
background-color: darkcyan;
color: white;
line-height: 1.5em;
padding: 12px;
}
</style>