{"id":19752119,"url":"https://github.com/colbylwilliams/az-bake","last_synced_at":"2025-04-30T10:31:45.381Z","repository":{"id":60514590,"uuid":"543249157","full_name":"colbylwilliams/az-bake","owner":"colbylwilliams","description":null,"archived":false,"fork":false,"pushed_at":"2023-08-01T21:59:32.000Z","size":316,"stargazers_count":2,"open_issues_count":2,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-08-04T05:05:33.753Z","etag":null,"topics":["azure","azure-cli","azure-cli-extension","bake","dev-center","devbox","microsoft","vm-image"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/colbylwilliams.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-29T17:44:01.000Z","updated_at":"2023-08-04T05:05:33.754Z","dependencies_parsed_at":"2023-02-06T09:02:05.003Z","dependency_job_id":null,"html_url":"https://github.com/colbylwilliams/az-bake","commit_stats":null,"previous_names":[],"tags_count":68,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colbylwilliams%2Faz-bake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colbylwilliams%2Faz-bake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colbylwilliams%2Faz-bake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colbylwilliams%2Faz-bake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/colbylwilliams","download_url":"https://codeload.github.com/colbylwilliams/az-bake/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224208210,"owners_count":17273674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","azure-cli","azure-cli-extension","bake","dev-center","devbox","microsoft","vm-image"],"created_at":"2024-11-12T02:47:46.549Z","updated_at":"2024-11-12T02:47:47.284Z","avatar_url":"https://github.com/colbylwilliams.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `az bake`\n\n[![Release](https://github.com/colbylwilliams/az-bake/actions/workflows/release.yml/badge.svg)](https://github.com/colbylwilliams/az-bake/actions/workflows/release.yml)\n\nMicrosoft Azure CLI Extension for creating (or _\"baking\"_) custom virtual machine (VM) images.\n\n## Install\n\nTo install the Azure CLI Custom Image Helper extension, simply run the following command:\n\n```sh\naz extension add --source https://github.com/colbylwilliams/az-bake/releases/latest/download/bake-0.3.11-py3-none-any.whl -y\n```\n\n### Update\n\nTo update Azure CLI DevCenter Helper extension to the latest version:\n\n```sh\naz bake upgrade\n```\n\nor for the latest pre-release version:\n\n```sh\naz bake upgrade --pre\n```\n\n## Quickstart\n\n#### 1. Create a new GitHub or Azure DevOps repository, clone it locally, and open a shell at the root\n\n#### 2. Create a Service Principal (or use an existing one)\n\n_You'll have to [install the Azure CLI][install-az] if you haven't already_\n\n```sh\naz ad sp create-for-rbac -n MyUniqueName\n```\n\noutput:\n\n```json\n{\n   \"appId\": \"\u003cGUID\u003e\",\n   \"displayName\": \"MyUniqueName\",\n   \"password\": \"\u003cSTRING\u003e\",\n   \"tenant\": \"\u003cGUID\u003e\"\n}\n```\n\n#### 3. Create three new [GitHub repository secrets][github-repo-secret] or [DevOps secret variables][devops-pipeline-secrets] with the values output above\n\n- `AZURE_CLIENT_ID` _(appId)_\n- `AZURE_CLIENT_SECRET` _(password)_\n- `AZURE_TENANT_ID` _(tenant)_\n\n#### 4. [Install](#install) the `az bake` Azure CLI extension\n\n#### 5. Create a new [sandbox](#sandbox), providing an [Azure Compute Gallery][azure-compute-gallery] and the Service Principal's ID (created above)\n\n\u003e _**Important:** The GUID passed in for the `--principal` argument is the principal's Id **NOT** its AppId from the output above. To get the principal's ID, run:_  `az ad sp show --id appId -o tsv --query id`\n\n```sh\naz bake sandbox create --name MySandbox --gallery MyGallery --principal 00000000-0000-0000-0000-000000000000\n```\n\n#### 6. Setup the repo for use with `az bake`\n\n```sh\naz bake repo setup --sandbox MySandbox --gallery MyGallery\n```\n\nThis will generate a [GitHub workflow][github-workflows] or a [DevOps pipeline][devops-pipelines] yaml file in your repo that will build your images on commit.\n\n#### 7. Create an image definiiton in your repo\n\n```sh\naz bake image create --name MyImage\n```\n\n#### 8. Commit and push your changes\n\nThis will kick off a workflow/pipeline to build your custom images. Once it is is finished, you can continue to monitor the image builds:\n\n```sh\naz bake image logs --sandbox MySandbox --name MyImage\n```\n\n## Sandbox\n\nIn the context of `az bake`, a _sandbox_ is a collection of resources in a resource group that are used to create (or _\"bake\"_) custom VM images. It's a secure, self-contained environment where [Packer][packer-docs] will be executed from [Azure Container Instance][azure-aci] in a private virtual network. A sandbox is required to use `az bake`. You can be create a new sandbox using the [`az bake sandbox create`](bake/azext_bake/_arm.py#az-bake-sandbox-create) command.\n\nEach sandbox includes a:\n\n- [Key Vault][azure-keyvault]\n- [Storage Account][azure-storage-account]\n- [Azure Container Instance (ACI) group][azure-aci-groups] for each custom image\n- [Virtual Network][azure-vnet], with two subnets\n  - A `default` subnet to which the temporary VMs will be joined. This also hosts a private endpoint for the Key Vault.\n  - A `builders` subnet to which the ACI containers will be joined. This subnet must be set up to delegate access to ACI, and must only contain ACI container groups.\n- [User-assigned Managed Identity][azure-identities] that is assigned to the ACI containers executing Packer and the temporary VMs. This identity will also require the [Contributor][azure-roles-contributor] role on the resource group that contains the [Azure Compute Gallery][azure-compute-gallery] where your custom images will be published.\n\n![sandbox](docs/sandbox.png)\n\n# Commands\n\nThis extension adds the following commands. Use `az bake -h` for more information.\n\n| Command                                                 | Description                                                                      |\n| ------------------------------------------------------- | -------------------------------------------------------------------------------- |\n| [`az bake sandbox create`](#az-bake-sandbox-create)     | Create a [sandbox](#sandbox).                                                    |\n| [`az bake sandbox validate`](#az-bake-sandbox-validate) | Validate a [sandbox](#sandbox).                                                  |\n| [`az bake repo build`](#az-bake-repo-build)             | Bake images defined in a repo (usually run in CI).                               |\n| [`az bake repo setup`](#az-bake-repo-setup)             | Setup a repo for baking.                                                         |\n| [`az bake repo validate`](#az-bake-repo-validate)       | Validate a repo.                                                                 |\n| [`az bake image create`](#az-bake-image-create)         | Create an image.                                                                 |\n| [`az bake image logs`](#az-bake-image-logs)             | Get the logs for an image build.                                                 |\n| [`az bake image rebuild`](#az-bake-image-rebuild)       | Rebuild an image that failed.                                                    |\n| [`az bake image bump`](#az-bake-image-bump)             | Bump the version number of images.                                               |\n| [`az bake yaml export`](#az-bake-yaml-export)           | Export a bake.yaml file.                                                         |\n| [`az bake validate sandbox`](#az-bake-validate-sandbox) | Validate a [sandbox](#sandbox). This is an alias for `az bake sandbox validate`. |\n| [`az bake validate repo`](#az-bake-validate-repo)       | Validate a repo. This is an alias for `az bake repo validate`.                   |\n| [`az bake version`](#az-bake-version)                   | Show the version of the bake extension.                                          |\n| [`az bake upgrade`](#az-bake-upgrade)                   | Update bake cli extension.                                                       |\n\n---\n\n## `az bake sandbox create`\n\nCreate a sandbox.\n\n```sh\naz bake sandbox create --name\n                       [--gallery]\n                       [--location]\n                       [--principal]\n                       [--sandbox]\n                       [--tags]\n                       [--local]\n                       [--pre]\n                       [--template-file]\n                       [--templates-url]\n                       [--version]\n                       [--builders-prefix]\n                       [--builders-subnet]\n                       [--default-prefix]\n                       [--default-subnet]\n                       [--vnet-address-prefix]\n```\n\n### Examples\n\nCreate a sandbox.\n\n```sh\naz bake sandbox create -l eastus --name mySandbox \\\n  --gallery myGallery --principal CI_SP_ID\n```\n\nCreate a sandbox with an existing resource group.\n\n```sh\naz bake sandbox create -l eastus -g mySandbox --name my-sandbox \\\n  --gallery myGallery --principal CI_SP_ID\n```\n\n### Required Parameters\n\n#### `--name --name-prefix -n`\n\nThe prefix to use in the name of all resources created in the build sandbox. For example if Contoso-Images is provided, the key vault, storage account, and vnet will be named Contoso-Images-kv, contosoimagesstorage, and contoso-images-vent respectively.\n\n### Optional Parameters\n\n#### `--gallery -r`\n\nName or ID of a Azure Compute Gallery. You can configure the default using `az configure --defaults bake-gallery=\u003cid\u003e`.\n\n#### `--location -l`\n\nLocation. Values from: `az account list-locations`. You can configure the default location using `az configure --defaults location=\u003clocation\u003e`.\n\n#### `--principal --principal-id`\n\nThe principal id of a service principal used to run az bake from a CI pipeline. It will be given contributor role to sandbox resource group.\n\n#### `--sandbox -g -s`\n\nName of the sandbox resource group. You can configure the default using `az configure --defaults bake-sandbox=\u003cname\u003e`.\n\n#### `--tags`\n\nSpace-separated tags: key[=value] [key[=value] ...]. Use '' to clear existing tags.\n\n#### `--local --local-templates`\n\nUse local template file that was packaged with the cli instead of downloading from GitHub.\n\n#### `--pre`\n\nDeploy latest template prerelease version.\n\n#### `--template-file`\n\nPath to custom sandbox arm/bicep template.\n\n#### `--templates-url`\n\nURL to custom templates.json file.\n\n#### `--version -v`\n\nSandbox template release version.\n\n\u003csup\u003edefault value: latest stable\u003c/sup\u003e\n\n#### `--builders-prefix --builders-subnet-prefix`\n\nThe CIDR prefix to use when creating the subnet for the ACI containers that execute Packer.\n\n\u003csup\u003edefault value: 10.0.0.128/25\u003c/sup\u003e\n\n#### `--builders-subnet --builders-subnet-name`\n\nThe name to use when creating the subnet for the ACI containers that execute Packer.\n\n\u003csup\u003edefault value: builders\u003c/sup\u003e\n\n#### `--default-prefix --default-subnet-prefix`\n\nThe CIDR prefix to use when creating the subnet for the temporary VMs and private endpoints.\n\n\u003csup\u003edefault value: 10.0.0.0/25\u003c/sup\u003e\n\n#### `--default-subnet --default-subnet-name`\n\nThe name to use when creating the subnet for the temporary VMs and private endpoints.\n\n\u003csup\u003edefault value: default\u003c/sup\u003e\n\n#### `--vnet-address-prefix --vnet-prefix`\n\nThe CIDR prefix to use when creating a new VNet.\n\n\u003csup\u003edefault value: 10.0.0.0/24\u003c/sup\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake sandbox validate`\n\nValidate a sandbox.\n\n```sh\naz bake sandbox validate --sandbox\n                         [--gallery]\n```\n\n### Examples\n\nValidate a sandbox.\n\n```sh\naz bake sandbox validate --sandbox mySandbox\n```\n\nValidate a sandbox and ensure the correct permissions on a gallery.\n\n```sh\naz bake sandbox validate --sandbox mySandbox --gallery myGallery\n```\n\n### Required Parameters\n\n#### `--sandbox -g -s`\n\nName of the sandbox resource group. You can configure the default using `az configure --defaults bake-sandbox=\u003cname\u003e`.\n\n### Optional Parameters\n\n#### `--gallery -r`\n\nName or ID of a Azure Compute Gallery. You can configure the default using `az configure --defaults bake-gallery=\u003cid\u003e`.\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake repo build`\n\nBake images defined in a repo (usually run in CI).\n\n```sh\naz bake repo build --repo\n                   [--images]\n                   [--repo-revision]\n                   [--repo-token]\n                   [--repo-url]\n```\n\n### Examples\n\nBuild all the images in a repo.\n\n```sh\naz bake repo build --repo .\n```\n\n### Required Parameters\n\n#### `--repo --repo-path -r`\n\nPath to the locally cloned repository.\n\n### Optional Parameters\n\n#### `--images -i`\n\nSpace separated list of images to bake.\n\n\u003csup\u003edefault value: all images in repository\u003csup\u003e\n\n#### `--repo-revision`\n\nRepository revision.\n\n#### `--repo-token`\n\nRepository token.\n\n#### `--repo-url`\n\nRepository url.\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake repo setup`\n\nSetup a repo for baking.\n\n```sh\naz bake repo setup --gallery\n                   [--sandbox]\n                   [--repo]\n```\n\n### Examples\n\nSetup a repo for baking.\n\n```sh\naz bake repo setup --sandbox mySandbox --gallery myGallery\n```\n\n### Required Parameters\n\n#### `--gallery -r`\n\nName or ID of a Azure Compute Gallery. You can configure the default using `az configure --defaults bake-gallery=\u003cid\u003e`.\n\n#### `--sandbox -g -s`\n\nName of the sandbox resource group. You can configure the default using `az configure --defaults bake-sandbox=\u003cname\u003e`.\n\n### Optional Parameters\n\n#### `--repo --repo-path`\n\nPath to the locally cloned repository.\n\n\u003csup\u003edefault value: ./\u003csup\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake repo validate`\n\nValidate a repo.\n\n```sh\naz bake repo validate --repo\n```\n\n### Examples\n\nValidate a repo.\n\n```sh\naz bake repo validate --repo .\n```\n\n### Required Parameters\n\n#### `--repo --repo-path`\n\nPath to the locally cloned repository.\n\n\u003csup\u003edefault value: ./\u003csup\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake image create`\n\nCreate an image.\n\n```sh\naz bake image create --name\n                     [--repo]\n```\n\n### Examples\n\nCreate an image.yml file.\n\n```sh\naz bake image create --name myImage\n```\n\n### Required Parameters\n\n#### `--name -n`\n\nName of the image to create.\n\n### Optional Parameters\n\n#### `--repo --repo-path -r`\n\nPath to the locally cloned repository.\n\n\u003csup\u003edefault value: ./\u003csup\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake image logs`\n\nGet the logs for an image build.\n\n```sh\naz bake image logs --name\n                   --sandbox\n```\n\n### Examples\n\nGet the logs for an image.\n\n```sh\naz bake image logs --sandbox mySandbox --name myImage\n```\n\n### Required Parameters\n\n#### `--name -n`\n\nName of the image.\n\n#### `--sandbox -g -s`\n\nName of the sandbox resource group. You can configure the default using `az configure --defaults bake-sandbox=\u003cname\u003e`.\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake image rebuild`\n\nRebuild an image that failed.\n\n```sh\naz bake image rebuild --name\n                      --sandbox\n                      [--no-wait]\n```\n\n### Examples\n\nRebuild an image that failed.\n\n```sh\naz bake image rebuild --sandbox mySandbox --name myImage\n```\n\n### Required Parameters\n\n#### `--name -n`\n\nName of the image to rebuild.\n\n#### `--sandbox -g -s`\n\nName of the sandbox resource group. You can configure the default using `az configure --defaults bake-sandbox=\u003cname\u003e`.\n\n### Optional Parameters\n\n#### `--no-wait`\n\nDo not wait for the long-running operation to finish.\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake image bump`\n\nBump the version numbers of images.\n\n```sh\naz bake image bump [--images]\n                   [--repo]\n                   [--major]\n                   [--minor]\n\n```\n\n### Examples\n\nBump the patch version of all images.\n\n```sh\naz bake image bump\n```\n\nBump the minor version of all images.\n\n```sh\naz bake image bump --minor\n```\n\nBump the major version of specific images.\n\n```sh\naz bake image bump --major --images myImage1 MyImage2\n```\n\n### Optional Parameters\n\n#### `--images -i`\n\nSpace separated list of images to bump.\n\n\u003csup\u003edefault value: all images in repository\u003csup\u003e\n\n#### `--repo --repo-path`\n\nPath to the locally cloned repository.\n\n#### `--major`\n\nBump the major version.\n\n#### `--minor`\n\nBump the minor version\n\n\u003csup\u003edefault value: ./\u003csup\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake yaml export`\n\nExport a bake.yaml file.\n\n```sh\naz bake yaml export --gallery\n                    --sandbox\n                    [--outdir]\n                    [--outfile]\n                    [--stdout]\n```\n\n### Examples\n\nExport a bake.yaml file to a directory.\n\n```sh\naz bake yaml export --sandbox mySandbox --gallery myGallery --outdir ./myDir\n```\n\nExport a bake.yaml file to a specific file.\n\n```sh\naz bake yaml export --sandbox mySandbox --gallery myGallery --outfile ./myDir/myFile.yaml\n```\n\nPrint the bake.yaml file output to the console.\n\n```sh\naz bake yaml export --sandbox mySandbox --gallery myGallery --stdout\n```\n\n### Required Parameters\n\n#### `--gallery -r`\n\nName or ID of a Azure Compute Gallery. You can configure the default using `az configure --defaults bake-gallery=\u003cid\u003e`.\n\n#### `--sandbox -g -s`\n\nName of the sandbox resource group. You can configure the default using `az configure --defaults bake-sandbox=\u003cname\u003e`.\n\n### Optional Parameters\n\n#### `--outdir`\n\nWhen set, saves the output at the specified directory.\n\n#### `--outfile`\n\nWhen set, saves the output as the specified file path.\n\n\u003csup\u003edefault value: ./bake.yml\u003csup\u003e\n\n#### `--stdout`\n\nWhen set, prints all output to stdout instead of corresponding files.\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake validate sandbox`\n\nValidate a sandbox. This is an alias for [`az bake sandbox validate`](#az-bake-sandbox-validate).\n\n```sh\naz bake validate sandbox --sandbox\n                         [--gallery]\n```\n\n### Examples\n\nValidate a sandbox.\n\n```sh\naz bake validate sandbox --sandbox mySandbox --gallery /My/Gallery/Resource/ID\n```\n\n### Required Parameters\n\n#### `--sandbox -g -s`\n\nName of the sandbox resource group. You can configure the default using `az configure --defaults bake-sandbox=\u003cname\u003e`.\n\n### Optional Parameters\n\n#### `--gallery -r`\n\nName or ID of a Azure Compute Gallery. You can configure the default using `az configure --defaults bake-gallery=\u003cid\u003e`.\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake validate repo`\n\nValidate a repo. This is an alias for [`az bake repo validate`](#az-bake-repo-validate).\n\n```sh\naz bake validate repo --repo\n```\n\n### Examples\n\nValidate a repo.\n\n```sh\naz bake validate repo --repo .\n```\n\n### Required Parameters\n\n#### `--repo --repo-path`\n\nPath to the locally cloned repository.\n\n\u003csup\u003edefault value: ./\u003csup\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake version`\n\nShow the version of the bake extension.\n\n```sh\naz bake version\n```\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n## `az bake upgrade`\n\nUpdate bake cli extension.\n\n```sh\naz bake upgrade [-pre]\n                [--version]\n```\n\n### Examples\n\nUpdate bake cli extension to the latest stable release.\n\n```sh\naz bake upgrade\n```\n\nUpdate bake cli extension to the latest pre-release.\n\n```sh\naz bake upgrade --pre\n```\n\nUpdate bake cli extension a specific version.\n\n```sh\naz bake upgrade --version 0.1.0\n```\n\n### Optional Parameters\n\n#### `--pre`\n\nUpdate to the latest template prerelease version.\n\n#### `--version -v`\n\nVersion (tag). Default: latest stable.\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch4\u003eGlobal Parameters\u003c/h4\u003e\u003c/summary\u003e\n\n  #### `--debug`\n\n  Increase logging verbosity to show all debug logs.\n\n  #### `--help -h`\n\n  Show this help message and exit.\n\n  #### `--only-show-errors`\n\n  Only show errors, suppressing warnings.\n\n  #### `--output -o`\n\n  Output format.  Allowed values: json, jsonc, none, table, tsv, yaml, yamlc.\n\n  \u003csup\u003edefault value: json\u003c/sup\u003e\n\n  #### `--query`\n\n  JMESPath query string. See \u003chttp://jmespath.org/\u003e for more information and examples.\n\n  #### `--subscription`\n\n  Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.\n\n  #### `--verbose`\n\n  Increase logging verbosity. Use --debug for full debug logs.\n\u003c/details\u003e\n\n[install-az]: https://learn.microsoft.com/en-us/cli/azure/install-azure-cli\n[azure-identities]: https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview\n[azure-compute-gallery]: https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery\n[azure-keyvault]: https://learn.microsoft.com/en-us/azure/key-vault/general/overview\n[azure-storage-account]: https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview\n[azure-aci]: https://learn.microsoft.com/en-us/azure/container-instances/container-instances-overview\n[azure-aci-groups]: https://learn.microsoft.com/en-us/azure/container-instances/container-instances-container-groups\n[azure-vnet]: https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview\n[azure-roles-contributor]: https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor\n[azure-assign-rbac]: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal?tabs=current\n[devops-pipelines]: https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/?view=azure-pipelines\n[devops-pipeline-secrets]: https://learn.microsoft.com/en-us/azure/devops/pipelines/process/set-secret-variables?view=azure-devops\u0026tabs=yaml%2Cbash\n[github-repo-create]: https://docs.github.com/en/get-started/quickstart/create-a-repo\n[github-repo-clone]: https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository\n[github-repo-secret]: https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository\n[github-repo-fork]: https://docs.github.com/en/get-started/quickstart/fork-a-repo\n[github-workflows]: https://docs.github.com/en/actions/using-workflows/about-workflows\n[packer-arm]: https://www.packer.io/plugins/builders/azure/arm\n[packer-docs]: https://developer.hashicorp.com/packer/docs","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolbylwilliams%2Faz-bake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolbylwilliams%2Faz-bake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolbylwilliams%2Faz-bake/lists"}