Bicep o terraform da microsoft
Fala Pessoal,
Neste post de hoje, eu irei falar sobre uma solução que foi lancada recentemente pela Microsoft no Ignite 2021.
Essa solução tem foco em simplificar deployments no Azure, que atualmente usa os ARM templates como base, em muitos casos, quando o ARM template fica muito grande o com muitas dependencias, pode ficar complicado para enterder sua logica e atrapalhar o troubleshoting.
Com esse intuito, a microsoft lançou o Bicep, uma linguagem declarativa para implementar recurso no azure de forma simplificada, como os ARM templates são baseados em JSON, manter e suporte esse tipo de template pode ser bem complexo.
Veja abaixo a um exemplo para criar um storage account no azure.
resource stg ‘Microsoft.Storage/storageAccounts@2019-06-01’ = {
name: ‘uniquestorage001’
location: ‘eastus’
kind: ‘Storage’
sku: {
name: ‘Standard_LRS’
}
}
A sintaxe lembra muito o “terraform”, porem o beneficio que vejo no bicep, que ele ja vem integrado com AzureCLI, se você já tem instalado o AzureCLI no seu computer, você só vai precisar rodar o comando abaixo para instalar o bicep.
az bicep install
Finalizando, se voce usa os ARM templates para fazer o deploy de suas soluções no Azure, acredito que seja um bom momento para você migrar para bicep, existe também um extensão no Visual Studio Code para te ajudar na criação dos arquivos .bicep
Fontes:
Bicep is a declarative language for describing and deploying Azure resources
https://github.com/Azure/bicep
714 forks.
2.995 stars.
1.148 open issues.
Recent commits:
- Reformat code (#12602)Update code to match the house style 😎Co-authored-by: Bicep Automation <bicep@noreply.github.com>, GitHub
- Bump @typescript-eslint/parser from 6.12.0 to 6.13.1 in /src/highlightjs (#12627)Bumps[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)from 6.12.0 to 6.13.1.<details><summary>Release notes</summary><p><em>Sourced from <ahref="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/parser</code>'sreleases</a>.</em></p><blockquote><h2>v6.13.1</h2><h2><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.0…v6.13.1">6.13.1</a>(2023-11-28)</h2><h3>Bug Fixes</h3><ul><li>default to parse all JSDoc and provide options to configure it (<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7999">#7999</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/779e13ec86f92b94a96ecdf81cbc36120a132ff6">779e13e</a>)</li></ul><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p><h2>v6.13.0</h2><h1><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.12.0…v6.13.0">6.13.0</a>(2023-11-27)</h1><h3><em>Note for eslint plugin authors and other API consumers</em></h3><p>TypeScript v5.3 shipped with a type change that was incompatible withour types. This change has been fixed and will be released in v5.3.3.Until that time you can work around this error using <ahref="https://www.typescriptlang.org/tsconfig#skipLibCheck"><code>skipLibCheck</code></a>.</p><h3>Bug Fixes</h3><ul><li><strong>typescript-estree:</strong> ensure backwards compat withpre-5.3 import attributes (<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7967">#7967</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/810fc8c9a18cb55af144d8945fdf38d841c9d486">810fc8c</a>)</li></ul><h3>Features</h3><ul><li>support TS 5.3 (<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7968">#7968</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/fb50638650d35fbd39f2b19446fa54c864bfc2ef">fb50638</a>)</li><li><strong>typescript-estree:</strong> pass jsDocParsingMode everywhere(<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7997">#7997</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/3d2a3446518c4da303a569830bb83bf166742535">3d2a344</a>)</li></ul><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p></blockquote></details><details><summary>Changelog</summary><p><em>Sourced from <ahref="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md"><code>@typescript-eslint/parser</code>'schangelog</a>.</em></p><blockquote><h2><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.0…v6.13.1">6.13.1</a>(2023-11-28)</h2><p><strong>Note:</strong> Version bump only for package<code>@typescript-eslint/parser</code></p><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p><h1><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.12.0…v6.13.0">6.13.0</a>(2023-11-27)</h1><p><strong>Note:</strong> Version bump only for package<code>@typescript-eslint/parser</code></p><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p></blockquote></details><details><summary>Commits</summary><ul><li><ahref="https://github.com/typescript-eslint/typescript-eslint/commit/14f3ff0340226e8f4ce13c86a464b505e5488e12"><code>14f3ff0</code></a>chore: publish v6.13.1</li><li><ahref="https://github.com/typescript-eslint/typescript-eslint/commit/39c437ab9e34513bf04378cd8c97daf739519a6e"><code>39c437a</code></a>chore: publish v6.13.0</li><li>See full diff in <ahref="https://github.com/typescript-eslint/typescript-eslint/commits/v6.13.1/packages/parser">compareview</a></li></ul></details><br />[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)Dependabot will resolve any conflicts with this PR as long as you don'talter it yourself. You can also trigger a rebase manually by commenting`@dependabot rebase`.[//]: # (dependabot-automerge-start)[//]: # (dependabot-automerge-end)—<details><summary>Dependabot commands and options</summary><br />You can trigger Dependabot actions by commenting on this PR:- `@dependabot rebase` will rebase this PR- `@dependabot recreate` will recreate this PR, overwriting any editsthat have been made to it- `@dependabot merge` will merge this PR after your CI passes on it- `@dependabot squash and merge` will squash and merge this PR afteryour CI passes on it- `@dependabot cancel merge` will cancel a previously requested mergeand block automerging- `@dependabot reopen` will reopen this PR if it is closed- `@dependabot close` will close this PR and stop Dependabot recreatingit. You can achieve the same result by closing it manually- `@dependabot show <dependency name> ignore conditions` will show allof the ignore conditions of the specified dependency- `@dependabot ignore this major version` will close this PR and stopDependabot creating any more for this major version (unless you reopenthe PR or upgrade to it yourself)- `@dependabot ignore this minor version` will close this PR and stopDependabot creating any more for this minor version (unless you reopenthe PR or upgrade to it yourself)- `@dependabot ignore this dependency` will close this PR and stopDependabot creating any more for this dependency (unless you reopen thePR or upgrade to it yourself)</details>###### Microsoft Reviewers: [Open inCodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/Azure/bicep/pull/12627)Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>, GitHub
- Bump @types/react from 18.2.38 to 18.2.41 in /src/playground (#12608)Bumps[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)from 18.2.38 to 18.2.41.<details><summary>Commits</summary><ul><li>See full diff in <ahref="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compareview</a></li></ul></details><br />[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)Dependabot will resolve any conflicts with this PR as long as you don'talter it yourself. You can also trigger a rebase manually by commenting`@dependabot rebase`.[//]: # (dependabot-automerge-start)[//]: # (dependabot-automerge-end)—<details><summary>Dependabot commands and options</summary><br />You can trigger Dependabot actions by commenting on this PR:- `@dependabot rebase` will rebase this PR- `@dependabot recreate` will recreate this PR, overwriting any editsthat have been made to it- `@dependabot merge` will merge this PR after your CI passes on it- `@dependabot squash and merge` will squash and merge this PR afteryour CI passes on it- `@dependabot cancel merge` will cancel a previously requested mergeand block automerging- `@dependabot reopen` will reopen this PR if it is closed- `@dependabot close` will close this PR and stop Dependabot recreatingit. You can achieve the same result by closing it manually- `@dependabot show <dependency name> ignore conditions` will show allof the ignore conditions of the specified dependency- `@dependabot ignore this major version` will close this PR and stopDependabot creating any more for this major version (unless you reopenthe PR or upgrade to it yourself)- `@dependabot ignore this minor version` will close this PR and stopDependabot creating any more for this minor version (unless you reopenthe PR or upgrade to it yourself)- `@dependabot ignore this dependency` will close this PR and stopDependabot creating any more for this dependency (unless you reopen thePR or upgrade to it yourself)</details>###### Microsoft Reviewers: [Open inCodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/Azure/bicep/pull/12608)Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>, GitHub
- Bump @typescript-eslint/eslint-plugin from 6.12.0 to 6.13.1 in /src/highlightjs (#12629)Bumps[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)from 6.12.0 to 6.13.1.<details><summary>Release notes</summary><p><em>Sourced from <ahref="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/eslint-plugin</code>'sreleases</a>.</em></p><blockquote><h2>v6.13.1</h2><h2><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.0…v6.13.1">6.13.1</a>(2023-11-28)</h2><h3>Bug Fixes</h3><ul><li>default to parse all JSDoc and provide options to configure it (<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7999">#7999</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/779e13ec86f92b94a96ecdf81cbc36120a132ff6">779e13e</a>)</li></ul><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p><h2>v6.13.0</h2><h1><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.12.0…v6.13.0">6.13.0</a>(2023-11-27)</h1><h3><em>Note for eslint plugin authors and other API consumers</em></h3><p>TypeScript v5.3 shipped with a type change that was incompatible withour types. This change has been fixed and will be released in v5.3.3.Until that time you can work around this error using <ahref="https://www.typescriptlang.org/tsconfig#skipLibCheck"><code>skipLibCheck</code></a>.</p><h3>Bug Fixes</h3><ul><li><strong>typescript-estree:</strong> ensure backwards compat withpre-5.3 import attributes (<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7967">#7967</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/810fc8c9a18cb55af144d8945fdf38d841c9d486">810fc8c</a>)</li></ul><h3>Features</h3><ul><li>support TS 5.3 (<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7968">#7968</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/fb50638650d35fbd39f2b19446fa54c864bfc2ef">fb50638</a>)</li><li><strong>typescript-estree:</strong> pass jsDocParsingMode everywhere(<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7997">#7997</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/3d2a3446518c4da303a569830bb83bf166742535">3d2a344</a>)</li></ul><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p></blockquote></details><details><summary>Changelog</summary><p><em>Sourced from <ahref="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@typescript-eslint/eslint-plugin</code>'schangelog</a>.</em></p><blockquote><h2><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.0…v6.13.1">6.13.1</a>(2023-11-28)</h2><p><strong>Note:</strong> Version bump only for package<code>@typescript-eslint/eslint-plugin</code></p><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p><h1><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.12.0…v6.13.0">6.13.0</a>(2023-11-27)</h1><p><strong>Note:</strong> Version bump only for package<code>@typescript-eslint/eslint-plugin</code></p><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p></blockquote></details><details><summary>Commits</summary><ul><li><ahref="https://github.com/typescript-eslint/typescript-eslint/commit/14f3ff0340226e8f4ce13c86a464b505e5488e12"><code>14f3ff0</code></a>chore: publish v6.13.1</li><li><ahref="https://github.com/typescript-eslint/typescript-eslint/commit/39c437ab9e34513bf04378cd8c97daf739519a6e"><code>39c437a</code></a>chore: publish v6.13.0</li><li>See full diff in <ahref="https://github.com/typescript-eslint/typescript-eslint/commits/v6.13.1/packages/eslint-plugin">compareview</a></li></ul></details><br />[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)Dependabot will resolve any conflicts with this PR as long as you don'talter it yourself. You can also trigger a rebase manually by commenting`@dependabot rebase`.[//]: # (dependabot-automerge-start)[//]: # (dependabot-automerge-end)—<details><summary>Dependabot commands and options</summary><br />You can trigger Dependabot actions by commenting on this PR:- `@dependabot rebase` will rebase this PR- `@dependabot recreate` will recreate this PR, overwriting any editsthat have been made to it- `@dependabot merge` will merge this PR after your CI passes on it- `@dependabot squash and merge` will squash and merge this PR afteryour CI passes on it- `@dependabot cancel merge` will cancel a previously requested mergeand block automerging- `@dependabot reopen` will reopen this PR if it is closed- `@dependabot close` will close this PR and stop Dependabot recreatingit. You can achieve the same result by closing it manually- `@dependabot show <dependency name> ignore conditions` will show allof the ignore conditions of the specified dependency- `@dependabot ignore this major version` will close this PR and stopDependabot creating any more for this major version (unless you reopenthe PR or upgrade to it yourself)- `@dependabot ignore this minor version` will close this PR and stopDependabot creating any more for this minor version (unless you reopenthe PR or upgrade to it yourself)- `@dependabot ignore this dependency` will close this PR and stopDependabot creating any more for this dependency (unless you reopen thePR or upgrade to it yourself)</details>###### Microsoft Reviewers: [Open inCodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/Azure/bicep/pull/12629)Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>, GitHub
- Bump @typescript-eslint/parser from 6.12.0 to 6.13.1 in /src/Bicep.MSBuild.E2eTests (#12622)Bumps[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)from 6.12.0 to 6.13.1.<details><summary>Release notes</summary><p><em>Sourced from <ahref="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/parser</code>'sreleases</a>.</em></p><blockquote><h2>v6.13.1</h2><h2><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.0…v6.13.1">6.13.1</a>(2023-11-28)</h2><h3>Bug Fixes</h3><ul><li>default to parse all JSDoc and provide options to configure it (<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7999">#7999</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/779e13ec86f92b94a96ecdf81cbc36120a132ff6">779e13e</a>)</li></ul><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p><h2>v6.13.0</h2><h1><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.12.0…v6.13.0">6.13.0</a>(2023-11-27)</h1><h3><em>Note for eslint plugin authors and other API consumers</em></h3><p>TypeScript v5.3 shipped with a type change that was incompatible withour types. This change has been fixed and will be released in v5.3.3.Until that time you can work around this error using <ahref="https://www.typescriptlang.org/tsconfig#skipLibCheck"><code>skipLibCheck</code></a>.</p><h3>Bug Fixes</h3><ul><li><strong>typescript-estree:</strong> ensure backwards compat withpre-5.3 import attributes (<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7967">#7967</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/810fc8c9a18cb55af144d8945fdf38d841c9d486">810fc8c</a>)</li></ul><h3>Features</h3><ul><li>support TS 5.3 (<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7968">#7968</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/fb50638650d35fbd39f2b19446fa54c864bfc2ef">fb50638</a>)</li><li><strong>typescript-estree:</strong> pass jsDocParsingMode everywhere(<ahref="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/7997">#7997</a>)(<ahref="https://github.com/typescript-eslint/typescript-eslint/commit/3d2a3446518c4da303a569830bb83bf166742535">3d2a344</a>)</li></ul><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p></blockquote></details><details><summary>Changelog</summary><p><em>Sourced from <ahref="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md"><code>@typescript-eslint/parser</code>'schangelog</a>.</em></p><blockquote><h2><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.0…v6.13.1">6.13.1</a>(2023-11-28)</h2><p><strong>Note:</strong> Version bump only for package<code>@typescript-eslint/parser</code></p><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p><h1><ahref="https://github.com/typescript-eslint/typescript-eslint/compare/v6.12.0…v6.13.0">6.13.0</a>(2023-11-27)</h1><p><strong>Note:</strong> Version bump only for package<code>@typescript-eslint/parser</code></p><p>You can read about our <ahref="https://main–typescript-eslint.netlify.app/users/versioning">versioningstrategy</a> and <ahref="https://main–typescript-eslint.netlify.app/users/releases">releases</a>on our website.</p></blockquote></details><details><summary>Commits</summary><ul><li><ahref="https://github.com/typescript-eslint/typescript-eslint/commit/14f3ff0340226e8f4ce13c86a464b505e5488e12"><code>14f3ff0</code></a>chore: publish v6.13.1</li><li><ahref="https://github.com/typescript-eslint/typescript-eslint/commit/39c437ab9e34513bf04378cd8c97daf739519a6e"><code>39c437a</code></a>chore: publish v6.13.0</li><li>See full diff in <ahref="https://github.com/typescript-eslint/typescript-eslint/commits/v6.13.1/packages/parser">compareview</a></li></ul></details><br />[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)Dependabot will resolve any conflicts with this PR as long as you don'talter it yourself. You can also trigger a rebase manually by commenting`@dependabot rebase`.[//]: # (dependabot-automerge-start)[//]: # (dependabot-automerge-end)—<details><summary>Dependabot commands and options</summary><br />You can trigger Dependabot actions by commenting on this PR:- `@dependabot rebase` will rebase this PR- `@dependabot recreate` will recreate this PR, overwriting any editsthat have been made to it- `@dependabot merge` will merge this PR after your CI passes on it- `@dependabot squash and merge` will squash and merge this PR afteryour CI passes on it- `@dependabot cancel merge` will cancel a previously requested mergeand block automerging- `@dependabot reopen` will reopen this PR if it is closed- `@dependabot close` will close this PR and stop Dependabot recreatingit. You can achieve the same result by closing it manually- `@dependabot show <dependency name> ignore conditions` will show allof the ignore conditions of the specified dependency- `@dependabot ignore this major version` will close this PR and stopDependabot creating any more for this major version (unless you reopenthe PR or upgrade to it yourself)- `@dependabot ignore this minor version` will close this PR and stopDependabot creating any more for this minor version (unless you reopenthe PR or upgrade to it yourself)- `@dependabot ignore this dependency` will close this PR and stopDependabot creating any more for this dependency (unless you reopen thePR or upgrade to it yourself)</details>###### Microsoft Reviewers: [Open inCodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/Azure/bicep/pull/12622)Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>, GitHub
https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-bicep
Deixe uma resposta