> For the complete documentation index, see [llms.txt](https://burkeholland.gitbook.io/vs-code-can-do-that/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://burkeholland.gitbook.io/vs-code-can-do-that/exercise-6-remote-development/create-a-new-function-in-the-container.md).

# Create a new function in the container

Developing in remote containers is just like developing on your own machine. Add a new endpoint to the API to make the light change rapidly.

{% tabs %}
{% tab title="Exercise" %}

* Add a new Function with the Azure Functions extension
* Call it "danceDance"
* Set the light color to a random hex value
* Restart the project with the VS Code debugger
* Visit the danceDance endpoint and refresh your browser
  {% endtab %}

{% tab title="Answer" %}

* Open the Command Palette (**Cmd/Ctrl + Shift + P**)
* Select "Azure Functions: Create Function"

![](/files/-Lm6MJr70NAhnBTrq5Qb)

* Select "HTTPTrigger" from the prompt

![](/files/-Lm6MT_BhHpvlMugkXxW)

* Name the function "danceDance"

![](/files/-Lm6Mb9NBak3Jeh9Jtci)

* Select "anonymous" at the next prompt

![](/files/-Lm6Mj14nBsHb5T-CjyF)

* A new Function is created in a folder called "danceDance"
* The Function code file is automatically opened in VS Code

![](/files/-Lm6MtqbEPi0RvFBZtv_)

* Delete all the code from this "index.js" file and replace it with the following

```
const bulb = require("../bulb");

module.exports = async function(context, req) {
  // generate random hex color
  // taken from: https://www.paulirish.com/2009/random-hex-color-code-snippets/
  const hex = Math.floor(Math.random() * 16777215).toString(16);
  try {
    const result = await bulb.setColor(hex);

    context.res = {
      body: { color: hex }
    };
  } catch (err) {
    context.res = {
      body: { message: "LIFX Lamp API is unavailable" }
    };
  }
};
```

* Press **F5** to run the Function app
* Visit "<http://localhost:7071/api/danceDance>" and refresh the page as many times as you want

![](/files/-Lm6QOTrphLP4Wt7aGab)
{% endtab %}
{% endtabs %}
