Skip to content

Commit

Permalink
feature(docs): Add getting started documentation for C#.
Browse files Browse the repository at this point in the history
Fixes aws#696
  • Loading branch information
costleya committed Nov 15, 2018
1 parent 585de0b commit b501fe9
Showing 1 changed file with 154 additions and 0 deletions.
154 changes: 154 additions & 0 deletions docs/src/getting-started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,17 @@ Create an empty project structure for the |cdk| app.
.. tabs::

.. group-tab:: C#

Create a new empty, source controlled directory and then create a new
console application.

.. code-block:: sh
mkdir HelloCdk
cd HelloCdk
dotnet new console
.. group-tab:: JavaScript

Create an empty source-controlled directory for your project and an
Expand Down Expand Up @@ -192,6 +203,14 @@ library includes the basic classes needed to write |cdk| stacks and apps.

.. tabs::

.. group-tab:: C#

Install the **Amazon.CDK NuGet** package:

.. code-block:: sh
dotnet add package Amazon.CDK
.. group-tab:: JavaScript

Install the **@aws-cdk/cdk** package:
Expand Down Expand Up @@ -232,6 +251,26 @@ class. Create an empty **App**:

.. tabs::

.. group-tab:: C#

In **Program.cs**

.. code-block:: c#
using Amazon.CDK;
namespace HelloCdk
{
class Program
{
static void Main(string[] args)
{
var myApp = new App();
myApp.Run();
}
}
}
.. group-tab:: JavaScript

Create the file **bin/hello-cdk.js**:
Expand Down Expand Up @@ -293,6 +332,14 @@ If needed, compile the code:

.. tabs::

.. group-tab:: C#

Compile the code using your IDE or via the dotnet CLI:

.. code-block:: sh
dotnet build
.. group-tab:: JavaScript

No need to compile
Expand Down Expand Up @@ -358,6 +405,16 @@ your project directory with the following content:

.. tabs::

.. group-tab:: C#

Define the :code:`--app` option in a **cdk.json** file:

.. code-block:: json
{
"app": "dotnet run --project HelloCdk.csproj"
}
.. group-tab:: JavaScript

Define the :code:`--app` option in **cdk.json** to execute **hello-cdk.js**
Expand Down Expand Up @@ -466,6 +523,44 @@ Define a stack and add it to the app.

.. tabs::

.. group-tab:: C#

Create **MyStack.cs**:

.. code-block:: c#
using Amazon.CDK;
namespace HelloCdk
{
public class MyStack: Stack
{
public MyStack(App parent, string name) : base(parent, name, null)
{
}
}
}
In **Program.cs**:

.. code-block:: c#
:emphasize-lines: 10
using Amazon.CDK;
namespace HelloCdk
{
class Program
{
static void Main(string[] args)
{
var myApp = new App();
new MyStack(myApp, "hello-cdk");
myApp.Run();
}
}
}
.. group-tab:: JavaScript

In **index.js**:
Expand Down Expand Up @@ -575,6 +670,12 @@ Compile your program:

.. tabs::

.. group-tab:: C#

We have configured cdk.json to run "dotnet run", which will
restore dependencies, build, and run your application.
Therefore, you just need to run the CDK command.

.. group-tab:: JavaScript

Nothing to compile.
Expand Down Expand Up @@ -622,6 +723,12 @@ Install the **@aws-cdk/aws-s3** package:

.. tabs::

.. group-tab:: C#

.. code-block:: sh
dotnet add package Amazon.CDK.AWS.S3
.. group-tab:: JavaScript

.. code-block:: sh
Expand Down Expand Up @@ -651,6 +758,30 @@ the :py:class:`Bucket <@aws-cdk/aws-s3.Bucket>` class:

.. tabs::

.. group-tab:: C#

Create **MyStack.cs**:

.. code-block:: c#
:emphasize-lines: 2,10,11,12,13
using Amazon.CDK;
using Amazon.CDK.AWS.S3;
namespace HelloCdk
{
public class MyStack : Stack
{
public MyStack(App parent, string name) : base(parent, name, null)
{
new Bucket(this, "MyFirstBucket", new BucketProps
{
Versioned = true
});
}
}
}
.. group-tab:: JavaScript

In **index.js**:
Expand Down Expand Up @@ -739,6 +870,12 @@ Compile your program:

.. tabs::

.. group-tab:: C#

We have configured cdk.json to run "dotnet run", which will
restore dependencies, build, and run your application.
Therefore, you just need to run the CDK command.

.. group-tab:: JavaScript

Nothing to compile.
Expand Down Expand Up @@ -818,6 +955,17 @@ Configure the bucket to use KMS managed encryption:

.. tabs::

.. group-tab:: C#

.. code-block:: c#
:emphasize-lines: 4
new Bucket(this, "MyFirstBucket", new BucketProps
{
Versioned = true,
Encryption = BucketEncryption.KmsManaged
});
.. group-tab:: JavaScript

.. code-block:: js
Expand Down Expand Up @@ -852,6 +1000,12 @@ Compile the program:

.. tabs::

.. group-tab:: C#

We have configured cdk.json to run "dotnet run", which will
restore dependencies, build, and run your application.
Therefore, you just need to run the CDK command.

.. group-tab:: JavaScript

Nothing to compile.
Expand Down

0 comments on commit b501fe9

Please sign in to comment.