Microsoft.DevHub workflows 2023-08-01

Bicep resource definition

The workflows resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DevHub/workflows resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DevHub/workflows@2023-08-01' = {
  location: 'string'
  name: 'string'
  properties: {
    artifactGenerationProperties: {
      appName: 'string'
      builderVersion: 'string'
      dockerfileGenerationMode: 'string'
      dockerfileOutputDirectory: 'string'
      generationLanguage: 'string'
      imageName: 'string'
      imageTag: 'string'
      languageVersion: 'string'
      manifestGenerationMode: 'string'
      manifestOutputDirectory: 'string'
      manifestType: 'string'
      namespace: 'string'
      port: 'string'
    }
    githubWorkflowProfile: {
      acr: {
        acrRegistryName: 'string'
        acrRepositoryName: 'string'
        acrResourceGroup: 'string'
        acrSubscriptionId: 'string'
      }
      aksResourceId: 'string'
      branchName: 'string'
      deploymentProperties: {
        helmChartPath: 'string'
        helmValues: 'string'
        kubeManifestLocations: [
          'string'
        ]
        manifestType: 'string'
        overrides: {
          {customized property}: 'string'
        }
      }
      dockerBuildContext: 'string'
      dockerfile: 'string'
      lastWorkflowRun: {
        workflowRunStatus: 'string'
      }
      namespace: 'string'
      oidcCredentials: {
        azureClientId: 'string'
        azureTenantId: 'string'
      }
      repositoryName: 'string'
      repositoryOwner: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Property Values

Microsoft.DevHub/workflows

Name Description Value
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Min length = 1
Max length = 63
Pattern = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (required)
properties Properties of a workflow. WorkflowProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

ACR

Name Description Value
acrRegistryName ACR registry string
acrRepositoryName ACR repository string
acrResourceGroup ACR resource group string
acrSubscriptionId ACR subscription id string

ArtifactGenerationProperties

Name Description Value
appName The name of the app. string
builderVersion The version of the language image used for building the code in the generated dockerfile. string
dockerfileGenerationMode The mode of generation to be used for generating Dockerfiles. 'disabled'
'enabled'
dockerfileOutputDirectory The directory to output the generated Dockerfile to. string
generationLanguage The programming language used. 'clojure'
'csharp'
'erlang'
'go'
'gomodule'
'gradle'
'java'
'javascript'
'php'
'python'
'ruby'
'rust'
'swift'
imageName The name of the image to be generated. string
imageTag The tag to apply to the generated image. string
languageVersion The version of the language image used for execution in the generated dockerfile. string
manifestGenerationMode The mode of generation to be used for generating Manifest. 'disabled'
'enabled'
manifestOutputDirectory The directory to output the generated manifests to. string
manifestType Determines the type of manifests to be generated. 'helm'
'kube'
namespace The namespace to deploy the application to. string
port The port the application is exposed on. string

DeploymentProperties

Name Description Value
helmChartPath Helm chart directory path in repository. string
helmValues Helm Values.yaml file location in repository. string
kubeManifestLocations string[]
manifestType Determines the type of manifests within the repository. 'helm'
'kube'
overrides Manifest override values. DeploymentPropertiesOverrides

DeploymentPropertiesOverrides

Name Description Value

GitHubWorkflowProfile

Name Description Value
acr Information on the azure container registry ACR
aksResourceId The Azure Kubernetes Cluster Resource the application will be deployed to. string
branchName Repository Branch Name string
deploymentProperties DeploymentProperties
dockerBuildContext Path to Dockerfile Build Context within the repository. string
dockerfile Path to the Dockerfile within the repository. string
lastWorkflowRun WorkflowRun
namespace Kubernetes namespace the application is deployed to. string
oidcCredentials The fields needed for OIDC with GitHub. GitHubWorkflowProfileOidcCredentials
repositoryName Repository Name string
repositoryOwner Repository Owner string

GitHubWorkflowProfileOidcCredentials

Name Description Value
azureClientId Azure Application Client ID string
azureTenantId Azure Directory (tenant) ID string

TrackedResourceTags

Name Description Value

WorkflowProperties

Name Description Value
artifactGenerationProperties Properties for generating artifacts like dockerfile and manifests. ArtifactGenerationProperties
githubWorkflowProfile Profile of a github workflow. GitHubWorkflowProfile

WorkflowRun

Name Description Value
workflowRunStatus Describes the status of the workflow run 'completed'
'inprogress'
'queued'

ARM template resource definition

The workflows resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DevHub/workflows resource, add the following JSON to your template.

{
  "type": "Microsoft.DevHub/workflows",
  "apiVersion": "2023-08-01",
  "name": "string",
  "location": "string",
  "properties": {
    "artifactGenerationProperties": {
      "appName": "string",
      "builderVersion": "string",
      "dockerfileGenerationMode": "string",
      "dockerfileOutputDirectory": "string",
      "generationLanguage": "string",
      "imageName": "string",
      "imageTag": "string",
      "languageVersion": "string",
      "manifestGenerationMode": "string",
      "manifestOutputDirectory": "string",
      "manifestType": "string",
      "namespace": "string",
      "port": "string"
    },
    "githubWorkflowProfile": {
      "acr": {
        "acrRegistryName": "string",
        "acrRepositoryName": "string",
        "acrResourceGroup": "string",
        "acrSubscriptionId": "string"
      },
      "aksResourceId": "string",
      "branchName": "string",
      "deploymentProperties": {
        "helmChartPath": "string",
        "helmValues": "string",
        "kubeManifestLocations": [ "string" ],
        "manifestType": "string",
        "overrides": {
          "{customized property}": "string"
        }
      },
      "dockerBuildContext": "string",
      "dockerfile": "string",
      "lastWorkflowRun": {
        "workflowRunStatus": "string"
      },
      "namespace": "string",
      "oidcCredentials": {
        "azureClientId": "string",
        "azureTenantId": "string"
      },
      "repositoryName": "string",
      "repositoryOwner": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property Values

Microsoft.DevHub/workflows

Name Description Value
apiVersion The api version '2023-08-01'
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Min length = 1
Max length = 63
Pattern = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (required)
properties Properties of a workflow. WorkflowProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.DevHub/workflows'

ACR

Name Description Value
acrRegistryName ACR registry string
acrRepositoryName ACR repository string
acrResourceGroup ACR resource group string
acrSubscriptionId ACR subscription id string

ArtifactGenerationProperties

Name Description Value
appName The name of the app. string
builderVersion The version of the language image used for building the code in the generated dockerfile. string
dockerfileGenerationMode The mode of generation to be used for generating Dockerfiles. 'disabled'
'enabled'
dockerfileOutputDirectory The directory to output the generated Dockerfile to. string
generationLanguage The programming language used. 'clojure'
'csharp'
'erlang'
'go'
'gomodule'
'gradle'
'java'
'javascript'
'php'
'python'
'ruby'
'rust'
'swift'
imageName The name of the image to be generated. string
imageTag The tag to apply to the generated image. string
languageVersion The version of the language image used for execution in the generated dockerfile. string
manifestGenerationMode The mode of generation to be used for generating Manifest. 'disabled'
'enabled'
manifestOutputDirectory The directory to output the generated manifests to. string
manifestType Determines the type of manifests to be generated. 'helm'
'kube'
namespace The namespace to deploy the application to. string
port The port the application is exposed on. string

DeploymentProperties

Name Description Value
helmChartPath Helm chart directory path in repository. string
helmValues Helm Values.yaml file location in repository. string
kubeManifestLocations string[]
manifestType Determines the type of manifests within the repository. 'helm'
'kube'
overrides Manifest override values. DeploymentPropertiesOverrides

DeploymentPropertiesOverrides

Name Description Value

GitHubWorkflowProfile

Name Description Value
acr Information on the azure container registry ACR
aksResourceId The Azure Kubernetes Cluster Resource the application will be deployed to. string
branchName Repository Branch Name string
deploymentProperties DeploymentProperties
dockerBuildContext Path to Dockerfile Build Context within the repository. string
dockerfile Path to the Dockerfile within the repository. string
lastWorkflowRun WorkflowRun
namespace Kubernetes namespace the application is deployed to. string
oidcCredentials The fields needed for OIDC with GitHub. GitHubWorkflowProfileOidcCredentials
repositoryName Repository Name string
repositoryOwner Repository Owner string

GitHubWorkflowProfileOidcCredentials

Name Description Value
azureClientId Azure Application Client ID string
azureTenantId Azure Directory (tenant) ID string

TrackedResourceTags

Name Description Value

WorkflowProperties

Name Description Value
artifactGenerationProperties Properties for generating artifacts like dockerfile and manifests. ArtifactGenerationProperties
githubWorkflowProfile Profile of a github workflow. GitHubWorkflowProfile

WorkflowRun

Name Description Value
workflowRunStatus Describes the status of the workflow run 'completed'
'inprogress'
'queued'

Usage Examples

Terraform (AzAPI provider) resource definition

The workflows resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DevHub/workflows resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevHub/workflows@2023-08-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      artifactGenerationProperties = {
        appName = "string"
        builderVersion = "string"
        dockerfileGenerationMode = "string"
        dockerfileOutputDirectory = "string"
        generationLanguage = "string"
        imageName = "string"
        imageTag = "string"
        languageVersion = "string"
        manifestGenerationMode = "string"
        manifestOutputDirectory = "string"
        manifestType = "string"
        namespace = "string"
        port = "string"
      }
      githubWorkflowProfile = {
        acr = {
          acrRegistryName = "string"
          acrRepositoryName = "string"
          acrResourceGroup = "string"
          acrSubscriptionId = "string"
        }
        aksResourceId = "string"
        branchName = "string"
        deploymentProperties = {
          helmChartPath = "string"
          helmValues = "string"
          kubeManifestLocations = [
            "string"
          ]
          manifestType = "string"
          overrides = {
            {customized property} = "string"
          }
        }
        dockerBuildContext = "string"
        dockerfile = "string"
        lastWorkflowRun = {
          workflowRunStatus = "string"
        }
        namespace = "string"
        oidcCredentials = {
          azureClientId = "string"
          azureTenantId = "string"
        }
        repositoryName = "string"
        repositoryOwner = "string"
      }
    }
  }
}

Property Values

Microsoft.DevHub/workflows

Name Description Value
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Min length = 1
Max length = 63
Pattern = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (required)
properties Properties of a workflow. WorkflowProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.DevHub/workflows@2023-08-01"

ACR

Name Description Value
acrRegistryName ACR registry string
acrRepositoryName ACR repository string
acrResourceGroup ACR resource group string
acrSubscriptionId ACR subscription id string

ArtifactGenerationProperties

Name Description Value
appName The name of the app. string
builderVersion The version of the language image used for building the code in the generated dockerfile. string
dockerfileGenerationMode The mode of generation to be used for generating Dockerfiles. 'disabled'
'enabled'
dockerfileOutputDirectory The directory to output the generated Dockerfile to. string
generationLanguage The programming language used. 'clojure'
'csharp'
'erlang'
'go'
'gomodule'
'gradle'
'java'
'javascript'
'php'
'python'
'ruby'
'rust'
'swift'
imageName The name of the image to be generated. string
imageTag The tag to apply to the generated image. string
languageVersion The version of the language image used for execution in the generated dockerfile. string
manifestGenerationMode The mode of generation to be used for generating Manifest. 'disabled'
'enabled'
manifestOutputDirectory The directory to output the generated manifests to. string
manifestType Determines the type of manifests to be generated. 'helm'
'kube'
namespace The namespace to deploy the application to. string
port The port the application is exposed on. string

DeploymentProperties

Name Description Value
helmChartPath Helm chart directory path in repository. string
helmValues Helm Values.yaml file location in repository. string
kubeManifestLocations string[]
manifestType Determines the type of manifests within the repository. 'helm'
'kube'
overrides Manifest override values. DeploymentPropertiesOverrides

DeploymentPropertiesOverrides

Name Description Value

GitHubWorkflowProfile

Name Description Value
acr Information on the azure container registry ACR
aksResourceId The Azure Kubernetes Cluster Resource the application will be deployed to. string
branchName Repository Branch Name string
deploymentProperties DeploymentProperties
dockerBuildContext Path to Dockerfile Build Context within the repository. string
dockerfile Path to the Dockerfile within the repository. string
lastWorkflowRun WorkflowRun
namespace Kubernetes namespace the application is deployed to. string
oidcCredentials The fields needed for OIDC with GitHub. GitHubWorkflowProfileOidcCredentials
repositoryName Repository Name string
repositoryOwner Repository Owner string

GitHubWorkflowProfileOidcCredentials

Name Description Value
azureClientId Azure Application Client ID string
azureTenantId Azure Directory (tenant) ID string

TrackedResourceTags

Name Description Value

WorkflowProperties

Name Description Value
artifactGenerationProperties Properties for generating artifacts like dockerfile and manifests. ArtifactGenerationProperties
githubWorkflowProfile Profile of a github workflow. GitHubWorkflowProfile

WorkflowRun

Name Description Value
workflowRunStatus Describes the status of the workflow run 'completed'
'inprogress'
'queued'