<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Martina Della Corte</title>
    <description>The latest articles on DEV Community by Martina Della Corte (@mtheindiecoder).</description>
    <link>https://dev.to/mtheindiecoder</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1261852%2Fd5e0cb67-1712-4133-9c67-aca40ddee34a.jpeg</url>
      <title>DEV Community: Martina Della Corte</title>
      <link>https://dev.to/mtheindiecoder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mtheindiecoder"/>
    <language>en</language>
    <item>
      <title>Enabling AWS tags for billing</title>
      <dc:creator>Martina Della Corte</dc:creator>
      <pubDate>Tue, 09 Apr 2024 00:00:00 +0000</pubDate>
      <link>https://dev.to/mtheindiecoder/enabling-aws-tags-for-billing-14fb</link>
      <guid>https://dev.to/mtheindiecoder/enabling-aws-tags-for-billing-14fb</guid>
      <description>&lt;p&gt;Recently I began tagging resources in my primary AWS account.&lt;/p&gt;

&lt;p&gt;I use this account as a playground where I can experiment with services and occasionally host side projects.&lt;/p&gt;

&lt;p&gt;As I've recently hosted new projects, I figured it was time to have a better understanding of costs, hence the decision to implement tagging.&lt;/p&gt;

&lt;p&gt;AWS offers a suite of services and tools called Cloud Financial Management, among which is &lt;strong&gt;AWS Cost Explorer&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;AWS Cost Explorer is a tool that allows you to analyze the costs and usage of your AWS resources.&lt;br&gt;
It provides a user-friendly interface to visualize your data, allowing you to manipulate several parameters to customize your reports. You can adjust the time period, group data by various dimensions, and filter data based on different criteria.&lt;/p&gt;

&lt;p&gt;One such criterion for grouping and filtering data is &lt;strong&gt;Tags&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So I tagged my resources, but I was surprised to realize that the tags were not included among the filters.&lt;/p&gt;

&lt;p&gt;Turns out, you have to activate tags to make them show up.&lt;/p&gt;

&lt;p&gt;In many projects I've worked on, there's usually a team that handles costs behind the scenes. So even though I've spent a lot of time with AWS Cost Explorer, I didn't realize I needed to activate tags myself.&lt;/p&gt;

&lt;p&gt;Let's see how to enable tags for cost allocation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enabling tags for billing
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Log in into your console and navigate to &lt;strong&gt;Billing and Cost Management&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the side menu, go to the &lt;code&gt;Cost Organization&lt;/code&gt; section and click on &lt;strong&gt;Cost Allocation Tags&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You will see a view with two tabs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;User-defined cost allocation tags&lt;/code&gt;: where tags defined by you are listed.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;AWS generated cost allocation tags&lt;/code&gt;: where tags automatically generated by AWS, depending on the services you've used, are listed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5y8n12kvn6m7qxtvcs6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5y8n12kvn6m7qxtvcs6b.png" alt="User-defined cost allocation tags" width="800" height="299"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F876jfe0e4rpkl5lhxb8w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F876jfe0e4rpkl5lhxb8w.png" alt="AWS generated cost allocation tags" width="800" height="353"&gt;&lt;/a&gt;&lt;br&gt;
As mentioned before, this is my experimental account, so the tags I've created are somewhat random. I recommend utilizing tag categories suggested by AWS You can find them&lt;br&gt;
&lt;a href="https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-categories"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select the tags you would like to activate and click on &lt;code&gt;Activate&lt;/code&gt; button.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The activation was not retroactive until the 27th of March 2024, when it was announced the support for it up to twelve months.&lt;/p&gt;

&lt;p&gt;The retroactive application is not automatic. You can read more about how to request a backfill of cost allocation tags &lt;a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-allocation-backfill.html"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Here the &lt;a href="https://aws.amazon.com/about-aws/whats-new/2024/03/aws-cost-allocation-tags-retroactive-application/#:~:text=AWS%20now%20allows%20customers%20to,for%20up%20to%2012%20months."&gt;retroactive application announcement&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusions
&lt;/h2&gt;

&lt;p&gt;This quick article reminded you to activate tags explicitly if you want to use them for cost allocation and showed you how to do it.&lt;/p&gt;

&lt;p&gt;I hope you find this post helpful. See you next time folks! 🚀&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/it/aws-cost-management/aws-cost-explorer/"&gt;AWS Cost Explorer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html"&gt;Activating user-defined cost allocation tags&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/about-aws/whats-new/2024/03/aws-cost-allocation-tags-retroactive-application/#:~:text=AWS%20now%20allows%20customers%20to,for%20up%20to%2012%20months."&gt;Retroactive application announcement&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-allocation-backfill.html"&gt;Backfill cost allocation tags&lt;/a&gt;&lt;/p&gt;

</description>
      <category>awscommunity</category>
      <category>costexplorer</category>
      <category>costmanagement</category>
      <category>billing</category>
    </item>
    <item>
      <title>Use AWS Credentials in a Dev Container</title>
      <dc:creator>Martina Della Corte</dc:creator>
      <pubDate>Sun, 14 Jan 2024 00:00:00 +0000</pubDate>
      <link>https://dev.to/mtheindiecoder/use-aws-credentials-in-a-dev-container-4efm</link>
      <guid>https://dev.to/mtheindiecoder/use-aws-credentials-in-a-dev-container-4efm</guid>
      <description>&lt;p&gt;If you work with AWS, you must have used AWS credentials at least once to run commands through the AWS CLI, CDK CLI, or SAM CLI.&lt;/p&gt;

&lt;p&gt;When developing in a Dev Container, you don't have access to your local file system. So, if you try to run an AWS command in the Dev Container, you will encounter some sort of "missing credentials" error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can you fix this?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is quite easy to overcome this issue. Remember that a Dev Container is a Docker Container. Therefore, you can use a &lt;strong&gt;bind mount&lt;/strong&gt; to link the directory and the files that contain AWS credentials configurations (a.k.a. the &lt;code&gt;.aws&lt;/code&gt; directory).&lt;/p&gt;

&lt;p&gt;If you want to read more about Bind Mount, here's the &lt;a href="https://docs.docker.com/storage/bind-mounts/"&gt;link&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding a bind mount to a Docker Container
&lt;/h2&gt;

&lt;p&gt;In Docker, you can add bind mounts using the &lt;strong&gt;&lt;code&gt;--mount&lt;/code&gt;&lt;/strong&gt; flag when running &lt;strong&gt;docker run&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;--mount&lt;/span&gt; &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;bind&lt;/span&gt;,source&lt;span class="o"&gt;=&lt;/span&gt;/.aws,target&lt;span class="o"&gt;=&lt;/span&gt;/home/vscode/.aws,readonly
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's dive into the command and try to understand each part.&lt;/p&gt;

&lt;p&gt;First of all, as explained in the &lt;a href="https://docs.docker.com/storage/bind-mounts/"&gt;docs&lt;/a&gt;, &lt;em&gt;&lt;code&gt;--mount&lt;/code&gt; consists of multiple key-value pairs, separated by commas and each consisting of a&lt;br&gt;
key=value pair.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;OBS:&lt;br&gt;
&lt;em&gt;The order of the key-value pairs is not significant.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Let's see which keys are set in our command:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;type&lt;/code&gt;: the type of the mount, which is &lt;code&gt;bind&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;source&lt;/code&gt;(or &lt;code&gt;src&lt;/code&gt;): represents the local path to find the directory we want to mount. In this case the path of our &lt;code&gt;.aws&lt;/code&gt; directory. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;target&lt;/code&gt;(or &lt;code&gt;dst&lt;/code&gt; or &lt;code&gt;destination&lt;/code&gt;): represents the path where our local directory will be mounted in the container.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;readonly&lt;/code&gt; option, which is used when the container does not need write access. In our case, the Dev container only need to read credentials, not to write them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;OBS:&lt;br&gt;
&lt;em&gt;In case you are using SSO to login, you will need to remove &lt;code&gt;readonly&lt;/code&gt; option because new temporary credentials will be added.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;More details about the &lt;code&gt;--mount&lt;/code&gt; flag can be found &lt;a href="https://docs.docker.com/storage/bind-mounts/#choose-the--v-or---mount-flag"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now that we have understood how to add a bind mount to a Docker container, let's see how to do this using the devcontainer specification.&lt;/p&gt;
&lt;h2&gt;
  
  
  Adding a bind mount in a Dev container defined with devontainer.json.
&lt;/h2&gt;

&lt;p&gt;When using &lt;code&gt;devontainer.json&lt;/code&gt;, you can set the command under &lt;code&gt;mounts&lt;/code&gt; property:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"mounts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"source=${localEnv:HOME}/.aws,target=/home/vscode/.aws,type=bind,readonly"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;it looks pretty much the same, the only difference is the value of &lt;code&gt;source&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;localEnv:HOME&lt;/code&gt;, is a pre-defined variable.&lt;br&gt;
You can find the list of available variables you can use in devcontainer.json &lt;a href="https://containers.dev/implementors/json_reference/#variables-in-devcontainerjson"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The semantic here is:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;print the value of HOME variable that is on the local machine.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In this case I want the value of the variable &lt;strong&gt;HOME&lt;/strong&gt;, since I am wokring on mac. For Windows users, the &lt;code&gt;mounts&lt;/code&gt; the variable to select is &lt;strong&gt;USERPROFILE&lt;/strong&gt;. Therefore, the specification property would look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"mounts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"source=${localEnv:USERPROFILE}/.aws,target=/home/vscode/.aws,type=bind,readonly"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A note. &lt;/p&gt;

&lt;p&gt;If you want define a devcontainer.json that is not dependent on any specific IDE, you can use the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"mounts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"source=${localEnv:HOME}/.aws,target=/.aws,type=bind,readonly"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"containerEnv"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"AWS_CONFIG_FILE"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/.aws/config"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"AWS_SHARED_CREDENTIALS_FILE"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/.aws/credentials"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this way, you can set any path as your target, but you have to specify the custom config and credentials paths using respectevely, &lt;br&gt;
&lt;code&gt;AWS_CONFIG_FILE&lt;/code&gt; and &lt;code&gt;AWS_SHARED_CREDENTIALS_FILE&lt;/code&gt; env variables.&lt;/p&gt;

&lt;p&gt;You can read more about it on the following pages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/getting-started-docker.html"&gt;Getting started with Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html"&gt;Environment variables to configure the AWS CLI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Checking the result
&lt;/h2&gt;

&lt;p&gt;How can you check if we actually managed to mount the &lt;code&gt;.aws&lt;/code&gt; on your Dev Container?&lt;/p&gt;

&lt;p&gt;The easiest way is to check in &lt;code&gt;Docker Desktop&lt;/code&gt;.&lt;br&gt;
If go to &lt;code&gt;Containers&lt;/code&gt; section and then click on the one of your interest, there you should see something like this:&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4z0ll9n26aax65bks6j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4z0ll9n26aax65bks6j.png" alt="Bind Mount" width="800" height="137"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;bindmount.png)&lt;/p&gt;

&lt;p&gt;Also, we can look at the &lt;code&gt;Inspect&lt;/code&gt; tab and if you scroll to &lt;code&gt;Mounts&lt;/code&gt; property, you should see something like the following:&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwxnxim8rs1yhnvvz4bk2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwxnxim8rs1yhnvvz4bk2.png" alt="Inspect tab" width="800" height="830"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, you can also see that &lt;code&gt;readonly&lt;/code&gt; option was applied as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article we have seen how to use AWS credentials in a Dev Container.&lt;br&gt;
I have created a &lt;a href="https://github.com/mtheindiecoder/using-aws-credentials-with-devcontainer"&gt;repository&lt;/a&gt; on gitHub which contains an example that applies what we have seen today, to run AWS CLI commands.&lt;br&gt;
Enjoy it!&lt;/p&gt;

&lt;p&gt;That's all folks! 🚀&lt;br&gt;
Stay tuned!&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.docker.com/storage/bind-mounts/"&gt;Bind Mounts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.docker.com/engine/reference/commandline/run/#mount"&gt;docker run command&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://containers.dev/implementors/spec/"&gt;DevContainer Specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://containers.dev/implementors/spec/#merge-logic"&gt;Merge Logic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://containers.dev/implementors/json_reference/#variables-in-devcontainerjson"&gt;Variables in devcontainer.json&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/getting-started-docker.html"&gt;Getting started with Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html"&gt;Environment variables to configure the AWS CLI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devcontainers</category>
      <category>aws</category>
      <category>development</category>
      <category>vscode</category>
    </item>
  </channel>
</rss>
