Repository: Azure/azure-dev
Pull request #4966: compose: openai endpoint
Author: login: weikanglim
Created: 2025-03-19T17:03:30Z | Merged: 2025-03-20T18:08:54Z

Fix `AZURE_OPENAI_ENDPOINT` not showing in add preview.

In #4914, we shifted the preview to leverage the newly added resource metadata. Azure OpenAI models had a resource specific show implementation built that wasn't immediately refactored in the change. This change shifts the Azure OpenAI implementation and fixes the add preview

Contributes to #4933


Diff:
diff --git a/cli/azd/internal/cmd/show/show.go b/cli/azd/internal/cmd/show/show.go
index fcf69ded120..0ad3da2d06a 100644
--- a/cli/azd/internal/cmd/show/show.go
+++ b/cli/azd/internal/cmd/show/show.go
@@ -17,7 +17,6 @@ import (
 	"github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
 	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
 	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appcontainers/armappcontainers/v3"
-	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices"
 	"github.com/azure/azure-dev/cli/azd/cmd/actions"
 	"github.com/azure/azure-dev/cli/azd/internal"
 	"github.com/azure/azure-dev/cli/azd/internal/cmd"
@@ -35,7 +34,6 @@ import (
 	"github.com/azure/azure-dev/cli/azd/pkg/output"
 	"github.com/azure/azure-dev/cli/azd/pkg/output/ux"
 	"github.com/azure/azure-dev/cli/azd/pkg/project"
-	"github.com/fatih/color"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
 )
@@ -313,11 +311,6 @@ func (s *showAction) showResource(ctx context.Context, name string, env *environ
 		if err != nil {
 			return err
 		}
-	case strings.EqualFold(resType, "Microsoft.CognitiveServices/accounts/deployments"):
-		err = showModelDeployment(ctx, s.console, credential, id.Parent, resourceOptions)
-		if err != nil {
-			return err
-		}
 	default:
 		showRes := showResource{
 			env:             env,
@@ -424,43 +417,6 @@ func showContainerApp(
 	return service, nil
 }
 
-func showModelDeployment(
-	ctx context.Context,
-	console input.Console,
-	cred azcore.TokenCredential,
-	id *arm.ResourceID,
-	opts showResourceOptions) error {
-	client, err := armcognitiveservices.NewAccountsClient(id.SubscriptionID, cred, opts.clientOpts)
-	if err != nil {
-		return fmt.Errorf("creating accounts client: %w", err)
-	}
-
-	account, err := client.Get(ctx, id.ResourceGroupName, id.Name, nil)
-	if err != nil {
-		return fmt.Errorf("getting account: %w", err)
-	}
-
-	if account.Properties.Endpoint != nil {
-		console.Message(ctx, color.HiMagentaString("%s (Azure AI Services Model Deployment)", id.Name))
-		console.Message(ctx, "  Endpoint:")
-		console.Message(ctx,
-			output.WithHighLightFormat(fmt.Sprintf("    AZURE_OPENAI_ENDPOINT=%s", *account.Properties.Endpoint)))
-		console.Message(ctx, "  Access:")
-		console.Message(ctx, "    Keyless (Microsoft Entra ID)")
-		//nolint:lll
-		console.Message(
-			ctx,
-			output.WithGrayFormat(
-				"        Hint: To access locally, use DefaultAzureCredential. To learn more, visit https://learn.microsoft.com/en-us/azure/ai-services/openai/supported-languages",
-			),
-		)
-
-		console.Message(ctx, "")
-	}
-
-	return nil
-}
-
 func (s *showAction) serviceEndpoint(
 	ctx context.Context, subId string, serviceConfig *project.ServiceConfig, env *environment.Environment) string {
 	resourceManager, err := s.lazyResourceManager.GetValue()
diff --git a/cli/azd/internal/cmd/show/show_resource.go b/cli/azd/internal/cmd/show/show_resource.go
index 4c92f8a2d04..90492404baa 100644
--- a/cli/azd/internal/cmd/show/show_resource.go
+++ b/cli/azd/internal/cmd/show/show_resource.go
@@ -99,6 +99,10 @@ func (s *showResource) showResourceGeneric(
 		Variables:   envValues,
 	}
 
+	if opts.resourceSpec != nil {
+		showRes.Name = opts.resourceSpec.Name
+	}
+
 	return &showRes, nil
 }
 
@@ -112,13 +116,15 @@ func getResourceMeta(id arm.ResourceID) (*scaffold.ResourceMeta, arm.ResourceID)
 				// find the parent resource
 				parentId := &id
 				for {
-					if parentId.Parent != nil {
-						parentId = parentId.Parent
+					if parentId == nil {
+						panic(fmt.Sprintf("'%s' was not found as a parent of '%s'", res.ParentForEval, resourceType))
 					}
 
-					if parentId.ResourceType.Type == res.ParentForEval {
+					if parentId.ResourceType.String() == res.ParentForEval {
 						break
 					}
+
+					parentId = parentId.Parent
 				}
 
 				return &res, *parentId
diff --git a/cli/azd/internal/scaffold/resource_meta.go b/cli/azd/internal/scaffold/resource_meta.go
index 4668e94271b..71ac51fb10c 100644
--- a/cli/azd/internal/scaffold/resource_meta.go
+++ b/cli/azd/internal/scaffold/resource_meta.go
@@ -60,6 +60,15 @@ var Resources = []ResourceMeta{
 		ResourceType: "Microsoft.CognitiveServices/accounts",
 		ApiVersion:   "2023-05-01",
 	},
+	{
+		ResourceType:      "Microsoft.CognitiveServices/accounts/deployments",
+		ApiVersion:        "2023-05-01",
+		ParentForEval:     "Microsoft.CognitiveServices/accounts",
+		StandardVarPrefix: "AZURE_OPENAI",
+		Variables: map[string]string{
+			"endpoint": "${.properties.endpoint}",
+		},
+	},
 	{
 		ResourceType: "Microsoft.ContainerRegistry/registries",
 		ApiVersion:   "2023-06-01-preview",


Reviews:
user: login: JeffreyCA
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-19T21:31:08Z
user: login: vhvb1989
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-19T23:00:29Z
user: login: weikanglim
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-19T23:17:42Z
user: login: JeffreyCA
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-19T23:26:17Z

Review comments:
path: cli/azd/internal/cmd/show/show_resource.go
user: login: JeffreyCA
body: I tried `azd show gpt-4o` on a gpt-4o OpenAI model and it seems to hang indefinitely on "Gathering information about your app and its resources..."

I tried debugging this and it looks like it might be infinite-looping in `getResourceMeta` as `parentId.ResourceType.Type` doesn't include the namespace (`Microsoft.CognitiveServices`) but `res.ParentForEval` does:

```go
for {
	if parentId.Parent != nil {
		parentId = parentId.Parent
	}

	if parentId.ResourceType.Type == res.ParentForEval {
		break
	}
}
```


created_at: 2025-03-19T21:30:23Z
author_association: CONTRIBUTOR
path: cli/azd/internal/cmd/show/show_resource.go
user: login: weikanglim
body: My bad. It is meant to be `parentId.ResourceType.String()`. Fixing the bug and adding a panic to avoid the infite loop.
created_at: 2025-03-19T23:17:41Z
author_association: CONTRIBUTOR

PR comments:
user: login: azure-sdk
created_at: 2025-03-20T00:04:05Z
body: <!-- #comment-cli-pr -->
## Azure Dev CLI Install Instructions

### Install scripts

#### MacOS/Linux

> May elevate using `sudo` on some platforms and configurations

bash:
```
curl -fsSL https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/uninstall-azd.sh | bash;
curl -fsSL https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/install-azd.sh | bash -s -- --base-url https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966 --version '' --verbose --skip-verify
```

pwsh:
```
Invoke-RestMethod 'https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/uninstall-azd.ps1' -OutFile uninstall-azd.ps1; ./uninstall-azd.ps1
Invoke-RestMethod 'https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/install-azd.ps1' -OutFile install-azd.ps1; ./install-azd.ps1 -BaseUrl 'https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966' -Version '' -SkipVerify -Verbose
```


#### Windows

PowerShell install

```
powershell -c "Set-ExecutionPolicy Bypass Process; irm 'https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/uninstall-azd.ps1' > uninstall-azd.ps1; ./uninstall-azd.ps1;"
powershell -c "Set-ExecutionPolicy Bypass Process; irm 'https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/install-azd.ps1' > install-azd.ps1; ./install-azd.ps1 -BaseUrl 'https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966' -Version '' -SkipVerify -Verbose;"
```

MSI install
```
powershell -c "irm 'https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/azd-windows-amd64.msi' -OutFile azd-windows-amd64.msi; msiexec /i azd-windows-amd64.msi /qn"
```

### Standalone Binary

* Linux - 
    * x86_64 - https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/azd-linux-amd64.tar.gz
    * ARM64 - https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/azd-linux-arm64.tar.gz
* MacOS - 
    * x86_64 - https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/azd-darwin-amd64.zip
    * ARM64 - https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/azd-darwin-arm64.zip
* Windows -
    * x86_64 - https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/azd-windows-amd64.zip
    * ARM64 - https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/azd-windows-arm64-alpha.zip

### MSI

* x86_64 - https://azuresdkartifacts.z5.web.core.windows.net/azd/standalone/pr/4966/azd-windows-amd64.msi

## Documentation

<details>
<summary>learn.microsoft.com documentation</summary>

---
title: Azure Developer CLI reference
description: This article explains the syntax and parameters for the various Azure Developer CLI commands.
author: alexwolfmsft
ms.author: alexwolf
ms.date: 03/19/2025
ms.service: azure-dev-cli
ms.topic: conceptual
ms.custom: devx-track-azdevcli
---

# Azure Developer CLI reference

This article explains the syntax and parameters for the various Azure Developer CLI commands.

## azd

The Azure Developer CLI (`azd`) is an open-source tool that helps onboard and manage your application on Azure

### Options

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --docs         Opens the documentation for azd in your web browser.
  -h, --help         Gets help for azd.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd add](#azd-add): Add a component to your project. (Alpha)
* [azd auth](#azd-auth): Authenticate with Azure.
* [azd config](#azd-config): Manage azd configurations (ex: default Azure subscription, location).
* [azd deploy](#azd-deploy): Deploy the application's code to Azure.
* [azd down](#azd-down): Delete Azure resources for an application.
* [azd env](#azd-env): Manage environments.
* [azd hooks](#azd-hooks): Develop, test and run hooks for an application. (Beta)
* [azd infra](#azd-infra): Manage your Azure infrastructure.
* [azd init](#azd-init): Initialize a new application.
* [azd monitor](#azd-monitor): Monitor a deployed application. (Beta)
* [azd package](#azd-package): Packages the application's code to be deployed to Azure. (Beta)
* [azd pipeline](#azd-pipeline): Manage and configure your deployment pipelines. (Beta)
* [azd provision](#azd-provision): Provision the Azure resources for an application.
* [azd restore](#azd-restore): Restores the application's dependencies. (Beta)
* [azd show](#azd-show): Display information about your app and its resources.
* [azd template](#azd-template): Find and view template details. (Beta)
* [azd up](#azd-up): Provision Azure resources, and deploy your project with a single command.
* [azd version](#azd-version): Print the version number of Azure Developer CLI.

## azd add

Add a component to your project. (Alpha)

```azdeveloper
azd add [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd add in your web browser.
  -h, --help   Gets help for add.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd auth

Authenticate with Azure.

### Options

```azdeveloper
      --docs   Opens the documentation for azd auth in your web browser.
  -h, --help   Gets help for auth.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd auth login](#azd-auth-login): Log in to Azure.
* [azd auth logout](#azd-auth-logout): Log out of Azure.
* [Back to top](#azd)

## azd auth login

Log in to Azure.

### Synopsis

Log in to Azure.

When run without any arguments, log in interactively using a browser. To log in using a device code, pass
--use-device-code.

To log in as a service principal, pass --client-id and --tenant-id as well as one of: --client-secret,
--client-certificate, or --federated-credential-provider.

To log in using a managed identity, pass --managed-identity, which will use the system assigned managed identity.
To use a user assigned managed identity, pass --client-id in addition to --managed-identity with the client id of
the user assigned managed identity you wish to use.


```azdeveloper
azd auth login [flags]
```

### Options

```azdeveloper
      --check-status                           Checks the log-in status instead of logging in.
      --client-certificate string              The path to the client certificate for the service principal to authenticate with.
      --client-id string                       The client id for the service principal to authenticate with.
      --client-secret string                   The client secret for the service principal to authenticate with. Set to the empty string to read the value from the console.
      --docs                                   Opens the documentation for azd auth login in your web browser.
      --federated-credential-provider string   The provider to use to acquire a federated token to authenticate with.
  -h, --help                                   Gets help for login.
      --managed-identity                       Use a managed identity to authenticate.
      --redirect-port int                      Choose the port to be used as part of the redirect URI during interactive login.
      --tenant-id string                       The tenant id or domain name to authenticate with.
      --use-device-code[=true]                 When true, log in by using a device code instead of a browser.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd auth](#azd-auth): Authenticate with Azure.
* [Back to top](#azd)

## azd auth logout

Log out of Azure.

### Synopsis

Log out of Azure

```azdeveloper
azd auth logout [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd auth logout in your web browser.
  -h, --help   Gets help for logout.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd auth](#azd-auth): Authenticate with Azure.
* [Back to top](#azd)

## azd config

Manage azd configurations (ex: default Azure subscription, location).

### Synopsis

Manage the Azure Developer CLI user configuration, which includes your default Azure subscription and location.

Available since `azure-dev-cli_0.4.0-beta.1`.

The easiest way to configure `azd` for the first time is to run [`azd init`](#azd-init). The subscription and location you select will be stored in the `config.json` file located in the config directory. To configure `azd` anytime afterwards, you'll use [`azd config set`](#azd-config-set).

The default value of the config directory is: 
* $HOME/.azd on Linux and macOS
* %USERPROFILE%\.azd on Windows


The configuration directory can be overridden by specifying a path in the AZD_CONFIG_DIR environment variable.

### Options

```azdeveloper
      --docs   Opens the documentation for azd config in your web browser.
  -h, --help   Gets help for config.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd config get](#azd-config-get): Gets a configuration.
* [azd config list-alpha](#azd-config-list-alpha): Display the list of available features in alpha stage.
* [azd config reset](#azd-config-reset): Resets configuration to default.
* [azd config set](#azd-config-set): Sets a configuration.
* [azd config show](#azd-config-show): Show all the configuration values.
* [azd config unset](#azd-config-unset): Unsets a configuration.
* [Back to top](#azd)

## azd config get

Gets a configuration.

### Synopsis

Gets a configuration in the configuration path.

The default value of the config directory is:
* `$HOME/.azd` on Linux and macOS
* `%USERPROFILE%\.azd` on Windows

The configuration directory can be overridden by specifying a path in the AZD_CONFIG_DIR environment variable.

```azdeveloper
azd config get <path> [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd config get in your web browser.
  -h, --help   Gets help for get.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd config](#azd-config): Manage azd configurations (ex: default Azure subscription, location).
* [Back to top](#azd)

## azd config list-alpha

Display the list of available features in alpha stage.

```azdeveloper
azd config list-alpha [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd config list-alpha in your web browser.
  -h, --help   Gets help for list-alpha.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd config](#azd-config): Manage azd configurations (ex: default Azure subscription, location).
* [Back to top](#azd)

## azd config reset

Resets configuration to default.

### Synopsis

Resets all configuration in the configuration path.

The default value of the config directory is:
* `$HOME/.azd` on Linux and macOS
* `%USERPROFILE%\.azd` on Windows

The configuration directory can be overridden by specifying a path in the AZD_CONFIG_DIR environment variable to the default.

```azdeveloper
azd config reset [flags]
```

### Options

```azdeveloper
      --docs    Opens the documentation for azd config reset in your web browser.
  -f, --force   Force reset without confirmation.
  -h, --help    Gets help for reset.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd config](#azd-config): Manage azd configurations (ex: default Azure subscription, location).
* [Back to top](#azd)

## azd config set

Sets a configuration.

### Synopsis

Sets a configuration in the configuration path.

The default value of the config directory is:
* `$HOME/.azd` on Linux and macOS
* `%USERPROFILE%\.azd` on Windows

The configuration directory can be overridden by specifying a path in the AZD_CONFIG_DIR environment variable.

```azdeveloper
azd config set <path> <value> [flags]
```

### Examples

```azdeveloper
azd config set defaults.subscription <yourSubscriptionID>
azd config set defaults.location eastus
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd config set in your web browser.
  -h, --help   Gets help for set.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd config](#azd-config): Manage azd configurations (ex: default Azure subscription, location).
* [Back to top](#azd)

## azd config show

Show all the configuration values.

### Synopsis

Show all configuration values in the configuration path.

The default value of the config directory is:
* `$HOME/.azd` on Linux and macOS
* `%USERPROFILE%\.azd` on Windows

The configuration directory can be overridden by specifying a path in the AZD_CONFIG_DIR environment variable.

```azdeveloper
azd config show [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd config show in your web browser.
  -h, --help   Gets help for show.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd config](#azd-config): Manage azd configurations (ex: default Azure subscription, location).
* [Back to top](#azd)

## azd config unset

Unsets a configuration.

### Synopsis

Removes a configuration in the configuration path.

The default value of the config directory is:
* `$HOME/.azd` on Linux and macOS
* `%USERPROFILE%\.azd` on Windows

The configuration directory can be overridden by specifying a path in the AZD_CONFIG_DIR environment variable.

```azdeveloper
azd config unset <path> [flags]
```

### Examples

```azdeveloper
azd config unset defaults.location
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd config unset in your web browser.
  -h, --help   Gets help for unset.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd config](#azd-config): Manage azd configurations (ex: default Azure subscription, location).
* [Back to top](#azd)

## azd deploy

Deploy the application's code to Azure.

```azdeveloper
azd deploy <service> [flags]
```

### Options

```azdeveloper
      --all                   Deploys all services that are listed in azure.yaml
      --docs                  Opens the documentation for azd deploy in your web browser.
  -e, --environment string    The name of the environment to use.
      --from-package string   Deploys the packaged service located at the provided path. Supports zipped file packages (file path) or container images (image tag).
  -h, --help                  Gets help for deploy.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd down

Delete Azure resources for an application.

```azdeveloper
azd down [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd down in your web browser.
  -e, --environment string   The name of the environment to use.
      --force                Does not require confirmation before it deletes resources.
  -h, --help                 Gets help for down.
      --purge                Does not require confirmation before it permanently deletes resources that are soft-deleted by default (for example, key vaults).
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd env

Manage environments.

### Options

```azdeveloper
      --docs   Opens the documentation for azd env in your web browser.
  -h, --help   Gets help for env.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd env get-value](#azd-env-get-value): Get specific environment value.
* [azd env get-values](#azd-env-get-values): Get all environment values.
* [azd env list](#azd-env-list): List environments.
* [azd env new](#azd-env-new): Create a new environment and set it as the default.
* [azd env refresh](#azd-env-refresh): Refresh environment settings by using information from a previous infrastructure provision.
* [azd env select](#azd-env-select): Set the default environment.
* [azd env set](#azd-env-set): Manage your environment settings.
* [azd env set-secret](#azd-env-set-secret): Set a <name> as a reference to a Key Vault secret in the environment.
* [Back to top](#azd)

## azd env get-value

Get specific environment value.

```azdeveloper
azd env get-value <keyName> [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd env get-value in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for get-value.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd env](#azd-env): Manage environments.
* [Back to top](#azd)

## azd env get-values

Get all environment values.

```azdeveloper
azd env get-values [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd env get-values in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for get-values.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd env](#azd-env): Manage environments.
* [Back to top](#azd)

## azd env list

List environments.

```azdeveloper
azd env list [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd env list in your web browser.
  -h, --help   Gets help for list.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd env](#azd-env): Manage environments.
* [Back to top](#azd)

## azd env new

Create a new environment and set it as the default.

```azdeveloper
azd env new <environment> [flags]
```

### Options

```azdeveloper
      --docs                  Opens the documentation for azd env new in your web browser.
  -h, --help                  Gets help for new.
  -l, --location string       Azure location for the new environment
      --subscription string   Name or ID of an Azure subscription to use for the new environment
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd env](#azd-env): Manage environments.
* [Back to top](#azd)

## azd env refresh

Refresh environment settings by using information from a previous infrastructure provision.

```azdeveloper
azd env refresh <environment> [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd env refresh in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for refresh.
      --hint string          Hint to help identify the environment to refresh
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd env](#azd-env): Manage environments.
* [Back to top](#azd)

## azd env select

Set the default environment.

```azdeveloper
azd env select <environment> [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd env select in your web browser.
  -h, --help   Gets help for select.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd env](#azd-env): Manage environments.
* [Back to top](#azd)

## azd env set

Manage your environment settings.

```azdeveloper
azd env set <key> <value> [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd env set in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for set.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd env](#azd-env): Manage environments.
* [Back to top](#azd)

## azd env set-secret

Set a <name> as a reference to a Key Vault secret in the environment.

### Synopsis

You can either create a new Key Vault secret or select an existing one.
The provided name is the key for the .env file which holds the secret reference to the Key Vault secret.

```azdeveloper
azd env set-secret <name> [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd env set-secret in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for set-secret.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd env](#azd-env): Manage environments.
* [Back to top](#azd)

## azd hooks

Develop, test and run hooks for an application. (Beta)

### Options

```azdeveloper
      --docs   Opens the documentation for azd hooks in your web browser.
  -h, --help   Gets help for hooks.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd hooks run](#azd-hooks-run): Runs the specified hook for the project and services
* [Back to top](#azd)

## azd hooks run

Runs the specified hook for the project and services

```azdeveloper
azd hooks run <name> [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd hooks run in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for run.
      --platform string      Forces hooks to run for the specified platform.
      --service string       Only runs hooks for the specified service.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd hooks](#azd-hooks): Develop, test and run hooks for an application. (Beta)
* [Back to top](#azd)

## azd infra

Manage your Azure infrastructure.

### Options

```azdeveloper
      --docs   Opens the documentation for azd infra in your web browser.
  -h, --help   Gets help for infra.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd infra synth](#azd-infra-synth): Write IaC for your project to disk, allowing you to manage it by hand. (Alpha)
* [Back to top](#azd)

## azd infra synth

Write IaC for your project to disk, allowing you to manage it by hand. (Alpha)

```azdeveloper
azd infra synth [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd infra synth in your web browser.
  -e, --environment string   The name of the environment to use.
      --force                Overwrite any existing files without prompting
  -h, --help                 Gets help for synth.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd infra](#azd-infra): Manage your Azure infrastructure.
* [Back to top](#azd)

## azd init

Initialize a new application.

```azdeveloper
azd init [flags]
```

### Options

```azdeveloper
  -b, --branch string         The template branch to initialize from. Must be used with a template argument (--template or -t).
      --docs                  Opens the documentation for azd init in your web browser.
  -e, --environment string    The name of the environment to use.
  -f, --filter strings        The tag(s) used to filter template results. Supports comma-separated values.
      --from-code             Initializes a new application from your existing code.
  -h, --help                  Gets help for init.
  -l, --location string       Azure location for the new environment
  -s, --subscription string   Name or ID of an Azure subscription to use for the new environment
  -t, --template string       Initializes a new application from a template. You can use Full URI, <owner>/<repository>, or <repository> if it's part of the azure-samples organization.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd monitor

Monitor a deployed application. (Beta)

```azdeveloper
azd monitor [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd monitor in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for monitor.
      --live                 Open a browser to Application Insights Live Metrics. Live Metrics is currently not supported for Python apps.
      --logs                 Open a browser to Application Insights Logs.
      --overview             Open a browser to Application Insights Overview Dashboard.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd package

Packages the application's code to be deployed to Azure. (Beta)

```azdeveloper
azd package <service> [flags]
```

### Options

```azdeveloper
      --all                  Packages all services that are listed in azure.yaml
      --docs                 Opens the documentation for azd package in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for package.
      --output-path string   File or folder path where the generated packages will be saved.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd pipeline

Manage and configure your deployment pipelines. (Beta)

### Options

```azdeveloper
      --docs   Opens the documentation for azd pipeline in your web browser.
  -h, --help   Gets help for pipeline.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd pipeline config](#azd-pipeline-config): Configure your deployment pipeline to connect securely to Azure. (Beta)
* [Back to top](#azd)

## azd pipeline config

Configure your deployment pipeline to connect securely to Azure. (Beta)

```azdeveloper
azd pipeline config [flags]
```

### Options

```azdeveloper
  -m, --applicationServiceManagementReference string   Service Management Reference. References application or service contact information from a Service or Asset Management database. This value must be a Universally Unique Identifier (UUID). You can set this value globally by running azd config set pipeline.config.applicationServiceManagementReference <UUID>.
      --auth-type string                               The authentication type used between the pipeline provider and Azure for deployment (Only valid for GitHub provider). Valid values: federated, client-credentials.
      --docs                                           Opens the documentation for azd pipeline config in your web browser.
  -e, --environment string                             The name of the environment to use.
  -h, --help                                           Gets help for config.
      --principal-id string                            The client id of the service principal to use to grant access to Azure resources as part of the pipeline.
      --principal-name string                          The name of the service principal to use to grant access to Azure resources as part of the pipeline.
      --principal-role stringArray                     The roles to assign to the service principal. By default the service principal will be granted the Contributor and User Access Administrator roles. (default [Contributor,User Access Administrator])
      --provider string                                The pipeline provider to use (github for Github Actions and azdo for Azure Pipelines).
      --remote-name string                             The name of the git remote to configure the pipeline to run on. (default "origin")
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd pipeline](#azd-pipeline): Manage and configure your deployment pipelines. (Beta)
* [Back to top](#azd)

## azd provision

Provision the Azure resources for an application.

```azdeveloper
azd provision [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd provision in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for provision.
      --no-state             Do not use latest Deployment State (bicep only).
      --preview              Preview changes to Azure resources.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd restore

Restores the application's dependencies. (Beta)

```azdeveloper
azd restore <service> [flags]
```

### Options

```azdeveloper
      --all                  Restores all services that are listed in azure.yaml
      --docs                 Opens the documentation for azd restore in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for restore.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd show

Display information about your app and its resources.

```azdeveloper
azd show [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd show in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for show.
      --show-secrets         Unmask secrets in output.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd template

Find and view template details. (Beta)

### Options

```azdeveloper
      --docs   Opens the documentation for azd template in your web browser.
  -h, --help   Gets help for template.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd template list](#azd-template-list): Show list of sample azd templates. (Beta)
* [azd template show](#azd-template-show): Show details for a given template. (Beta)
* [azd template source](#azd-template-source): View and manage template sources. (Beta)
* [Back to top](#azd)

## azd template list

Show list of sample azd templates. (Beta)

```azdeveloper
azd template list [flags]
```

### Options

```azdeveloper
      --docs             Opens the documentation for azd template list in your web browser.
  -f, --filter strings   The tag(s) used to filter template results. Supports comma-separated values.
  -h, --help             Gets help for list.
  -s, --source string    Filters templates by source.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd template](#azd-template): Find and view template details. (Beta)
* [Back to top](#azd)

## azd template show

Show details for a given template. (Beta)

```azdeveloper
azd template show <template> [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd template show in your web browser.
  -h, --help   Gets help for show.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd template](#azd-template): Find and view template details. (Beta)
* [Back to top](#azd)

## azd template source

View and manage template sources. (Beta)

### Options

```azdeveloper
      --docs   Opens the documentation for azd template source in your web browser.
  -h, --help   Gets help for source.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd template](#azd-template): Find and view template details. (Beta)
* [azd template source add](#azd-template-source-add): Adds an azd template source with the specified key. (Beta)
* [azd template source list](#azd-template-source-list): Lists the configured azd template sources. (Beta)
* [azd template source remove](#azd-template-source-remove): Removes the specified azd template source (Beta)
* [Back to top](#azd)

## azd template source add

Adds an azd template source with the specified key. (Beta)

### Synopsis

The key can be any value that uniquely identifies the template source, with well-known values being:
   ・default: Default templates
   ・awesome-azd: Templates from [https://aka.ms/awesome-azd](https://aka.ms/awesome-azd)

```azdeveloper
azd template source add <key> [flags]
```

### Options

```azdeveloper
      --docs              Opens the documentation for azd template source add in your web browser.
  -h, --help              Gets help for add.
  -l, --location string   Location of the template source. Required when using type flag.
  -n, --name string       Display name of the template source.
  -t, --type string       Kind of the template source. Supported types are 'file', 'url' and 'gh'.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd template source](#azd-template-source): View and manage template sources. (Beta)
* [Back to top](#azd)

## azd template source list

Lists the configured azd template sources. (Beta)

```azdeveloper
azd template source list [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd template source list in your web browser.
  -h, --help   Gets help for list.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd template source](#azd-template-source): View and manage template sources. (Beta)
* [Back to top](#azd)

## azd template source remove

Removes the specified azd template source (Beta)

```azdeveloper
azd template source remove <key> [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd template source remove in your web browser.
  -h, --help   Gets help for remove.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [azd template source](#azd-template-source): View and manage template sources. (Beta)
* [Back to top](#azd)

## azd up

Provision Azure resources, and deploy your project with a single command.

```azdeveloper
azd up [flags]
```

### Options

```azdeveloper
      --docs                 Opens the documentation for azd up in your web browser.
  -e, --environment string   The name of the environment to use.
  -h, --help                 Gets help for up.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)

## azd version

Print the version number of Azure Developer CLI.

```azdeveloper
azd version [flags]
```

### Options

```azdeveloper
      --docs   Opens the documentation for azd version in your web browser.
  -h, --help   Gets help for version.
```

### Options inherited from parent commands

```azdeveloper
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.
```

### See also

* [Back to top](#azd)



</details>

author_association: COLLABORATOR