Aplicativos Microsoft.Solutions

Definição de recurso do Bicep

O tipo de recurso de aplicativos pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Solutions/applications, adicione o Bicep a seguir ao seu modelo.

resource symbolicname 'Microsoft.Solutions/applications@2023-12-01-preview' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  kind: 'string'
  location: 'string'
  managedBy: 'string'
  name: 'string'
  plan: {
    name: 'string'
    product: 'string'
    promotionCode: 'string'
    publisher: 'string'
    version: 'string'
  }
  properties: {
    applicationDefinitionId: 'string'
    jitAccessPolicy: {
      jitAccessEnabled: bool
      jitApprovalMode: 'string'
      jitApprovers: [
        {
          displayName: 'string'
          id: 'string'
          type: 'string'
        }
      ]
      maximumJitAccessDuration: 'string'
    }
    managedResourceGroupId: 'string'
    parameters: any(...)
  }
  sku: {
    capacity: int
    family: 'string'
    model: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Valores de propriedade

Microsoft.Solutions/applications

Nome Descrição Valor
identidade A identidade do recurso. Identidade
tipo O tipo do aplicativo gerenciado. Os valores permitidos são MarketPlace e ServiceCatalog. corda

Restrições:
Padrão = ^[-\w\._,\(\)]+$ (obrigatório)
local Local do recurso cadeia
gerenciadoPor ID do recurso que gerencia esse recurso. cadeia
nome O nome do recurso corda

Restrições:
Comprimento mínimo = 3
Comprimento máximo = 64 (obrigatório)
plano As informações do plano. do Plano
Propriedades As propriedades do aplicativo gerenciado. ApplicationProperties (obrigatório)
Sku A SKU do recurso. de SKU
Tags Marcas de recurso Dicionário de nomes e valores de marca. Consulte Marcas em modelos

AplicaçãoJitAccessPolicy

Nome Descrição Valor
jitAccessEnabled Se o acesso JIT está habilitado. bool (obrigatório)
jitModo de aprovação Modo de aprovação JIT. 'AutoApprove'
'ManualApprove'
'Não especificado'
Aprovadores jit Os aprovadores JIT JitApproverDefinition[]
maximumJitAccessDuration O acesso JIT de duração máxima é concedido. Esse é um valor ISO8601 período de tempo. cadeia

Propriedades do aplicativo

Nome Descrição Valor
applicationDefinitionId O caminho totalmente qualificado da ID de definição de aplicativo gerenciado. cadeia
Política de Acesso jit A política de acesso Jit do aplicativo gerenciado. AplicaçãoJitAccessPolicy
managedResourceGroupId A ID do grupo de recursos gerenciados. cadeia
Parâmetros Pares de nome e valor que definem os parâmetros do aplicativo gerenciado. Pode ser um JObject ou uma cadeia de caracteres JSON bem formada. qualquer

Identidade

Nome Descrição Valor
tipo O tipo de identidade. 'Nenhum'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
Identidades Atribuídas pelo Usuário A lista de identidades de usuário associadas ao recurso. As referências de chave do dicionário de identidade do usuário serão IDs de recurso no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. IdentidadeUserAssignedIdentities

IdentidadeUserAssignedIdentities

Nome Descrição Valor

JitApproverDefinição

Nome Descrição Valor
nome de exibição O nome de exibição do aprovador. cadeia
id A ID da entidade de serviço do aprovador. cadeia de caracteres (obrigatório)
tipo O tipo aprovador. 'Grupo'
'usuário'

Plano

Nome Descrição Valor
nome O nome do plano. cadeia de caracteres (obrigatório)
produto O código do produto. cadeia de caracteres (obrigatório)
código promocional O código de promoção. cadeia
desenvolvedor A ID do editor. cadeia de caracteres (obrigatório)
versão A versão do plano. cadeia de caracteres (obrigatório)

Tags de recursos

Nome Descrição Valor

Sku

Nome Descrição Valor
capacidade A capacidade de SKU. int
família A família SKU. cadeia
modelo O modelo de SKU. cadeia
nome O nome da SKU. cadeia de caracteres (obrigatório)
tamanho O tamanho da SKU. cadeia
nível A camada de SKU. cadeia

UserAssignedResourceIdentity

Nome Descrição Valor

Exemplos de uso

Exemplos do Bicep

Um exemplo básico de implantação do Aplicativo Gerenciado.

param resourceName string = 'acctest0001'
param location string = 'westus'

resource application 'Microsoft.Solutions/applications@2021-07-01' = {
  name: '${resourceName}-app'
  location: location
  kind: 'ServiceCatalog'
  properties: {
    applicationDefinitionId: applicationDefinition.id
    managedResourceGroupId: '/subscriptions/subscription().subscriptionId/resourceGroups/acctest0001-infragroup'
    parameters: {
      arrayParameter: {
        value: [
          'value_1'
          'value_2'
        ]
      }
      boolParameter: {
        value: true
      }
      intParameter: {
        value: 100
      }
      objectParameter: {
        value: {
          nested_array: [
            'value_1'
            'value_2'
          ]
          nested_bool: true
          nested_object: {
            key_0: 0
          }
        }
      }
      secureStringParameter: {
        value: ''
      }
      stringParameter: {
        value: 'value_1'
      }
    }
  }
}

resource applicationDefinition 'Microsoft.Solutions/applicationDefinitions@2021-07-01' = {
  name: '${resourceName}-appdef'
  location: location
  properties: {
    authorizations: [
      {
        principalId: deployer().objectId
        roleDefinitionId: 'b24988ac-6180-42a0-ab88-20f7382dd24c'
      }
    ]
    createUiDefinition: '''    {
      "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
      "handler": "Microsoft.Azure.CreateUIDef",
      "version": "0.1.2-preview",
      "parameters": {
         "basics": [],
         "steps": [],
         "outputs": {}
      }
    }
'''
    description: 'Test Managed App Definition'
    displayName: 'TestManagedAppDefinition'
    isEnabled: true
    lockLevel: 'ReadOnly'
    mainTemplate: '''    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {

         "boolParameter": {
            "type": "bool"
         },
         "intParameter": {
            "type": "int"
         },
         "stringParameter": {
            "type": "string"
         },
         "secureStringParameter": {
            "type": "secureString"
         },
         "objectParameter": {
            "type": "object"
         },
         "arrayParameter": {
            "type": "array"
         }

      },
      "variables": {},
      "resources": [],
      "outputs": {
        "boolOutput": {
          "type": "bool",
          "value": true
        },
        "intOutput": {
          "type": "int",
          "value": 100
        },
        "stringOutput": {
          "type": "string",
          "value": "stringOutputValue"
        },
        "objectOutput": {
          "type": "object",
          "value": {
            "nested_bool": true,
            "nested_array": ["value_1", "value_2"],
            "nested_object": {
              "key_0": 0
            }
          }
        },
        "arrayOutput": {
          "type": "array",
          "value": ["value_1", "value_2"]
        }
      }
    }
'''
  }
}

Definição de recurso de modelo do ARM

O tipo de recurso de aplicativos pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Solutions/applications, adicione o JSON a seguir ao seu modelo.

{
  "type": "Microsoft.Solutions/applications",
  "apiVersion": "2023-12-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "kind": "string",
  "location": "string",
  "managedBy": "string",
  "plan": {
    "name": "string",
    "product": "string",
    "promotionCode": "string",
    "publisher": "string",
    "version": "string"
  },
  "properties": {
    "applicationDefinitionId": "string",
    "jitAccessPolicy": {
      "jitAccessEnabled": "bool",
      "jitApprovalMode": "string",
      "jitApprovers": [
        {
          "displayName": "string",
          "id": "string",
          "type": "string"
        }
      ],
      "maximumJitAccessDuration": "string"
    },
    "managedResourceGroupId": "string",
    "parameters": {}
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "model": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valores de propriedade

Microsoft.Solutions/applications

Nome Descrição Valor
apiVersion A versão da API '2023-12-01-preview'
identidade A identidade do recurso. Identidade
tipo O tipo do aplicativo gerenciado. Os valores permitidos são MarketPlace e ServiceCatalog. corda

Restrições:
Padrão = ^[-\w\._,\(\)]+$ (obrigatório)
local Local do recurso cadeia
gerenciadoPor ID do recurso que gerencia esse recurso. cadeia
nome O nome do recurso corda

Restrições:
Comprimento mínimo = 3
Comprimento máximo = 64 (obrigatório)
plano As informações do plano. do Plano
Propriedades As propriedades do aplicativo gerenciado. ApplicationProperties (obrigatório)
Sku A SKU do recurso. de SKU
Tags Marcas de recurso Dicionário de nomes e valores de marca. Consulte Marcas em modelos
tipo O tipo de recurso 'Microsoft.Solutions/applications'

AplicaçãoJitAccessPolicy

Nome Descrição Valor
jitAccessEnabled Se o acesso JIT está habilitado. bool (obrigatório)
jitModo de aprovação Modo de aprovação JIT. 'AutoApprove'
'ManualApprove'
'Não especificado'
Aprovadores jit Os aprovadores JIT JitApproverDefinition[]
maximumJitAccessDuration O acesso JIT de duração máxima é concedido. Esse é um valor ISO8601 período de tempo. cadeia

Propriedades do aplicativo

Nome Descrição Valor
applicationDefinitionId O caminho totalmente qualificado da ID de definição de aplicativo gerenciado. cadeia
Política de Acesso jit A política de acesso Jit do aplicativo gerenciado. AplicaçãoJitAccessPolicy
managedResourceGroupId A ID do grupo de recursos gerenciados. cadeia
Parâmetros Pares de nome e valor que definem os parâmetros do aplicativo gerenciado. Pode ser um JObject ou uma cadeia de caracteres JSON bem formada. qualquer

Identidade

Nome Descrição Valor
tipo O tipo de identidade. 'Nenhum'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
Identidades Atribuídas pelo Usuário A lista de identidades de usuário associadas ao recurso. As referências de chave do dicionário de identidade do usuário serão IDs de recurso no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. IdentidadeUserAssignedIdentities

IdentidadeUserAssignedIdentities

Nome Descrição Valor

JitApproverDefinição

Nome Descrição Valor
nome de exibição O nome de exibição do aprovador. cadeia
id A ID da entidade de serviço do aprovador. cadeia de caracteres (obrigatório)
tipo O tipo aprovador. 'Grupo'
'usuário'

Plano

Nome Descrição Valor
nome O nome do plano. cadeia de caracteres (obrigatório)
produto O código do produto. cadeia de caracteres (obrigatório)
código promocional O código de promoção. cadeia
desenvolvedor A ID do editor. cadeia de caracteres (obrigatório)
versão A versão do plano. cadeia de caracteres (obrigatório)

Tags de recursos

Nome Descrição Valor

Sku

Nome Descrição Valor
capacidade A capacidade de SKU. int
família A família SKU. cadeia
modelo O modelo de SKU. cadeia
nome O nome da SKU. cadeia de caracteres (obrigatório)
tamanho O tamanho da SKU. cadeia
nível A camada de SKU. cadeia

UserAssignedResourceIdentity

Nome Descrição Valor

Exemplos de uso

Modelos de início rápido do Azure

Os modelos de Início Rápido do Azure a seguir implantar esse tipo de recurso.

Modelo Descrição
Criar um aplicativo gerenciado que implanta modelos vinculados

Implantar no Azure
Esse modelo cria um aplicativo gerenciado que implanta modelos vinculados.
Criar um aplicativo gerenciado com uma exibição personalizada

Implantar no Azure
Esse modelo cria um aplicativo gerenciado que tem uma exibição padrão personalizada.
Criar um aplicativo gerenciado com métricas e alertas

Implantar no Azure
Esse modelo cria um aplicativo gerenciado que tem alertas e métricas de aplicativo.

Definição de recurso do Terraform (provedor de AzAPI)

O tipo de recurso de aplicativos pode ser implantado com operações direcionadas:

  • Grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Solutions/applications, adicione o Terraform a seguir ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Solutions/applications@2023-12-01-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    kind = "string"
    managedBy = "string"
    plan = {
      name = "string"
      product = "string"
      promotionCode = "string"
      publisher = "string"
      version = "string"
    }
    properties = {
      applicationDefinitionId = "string"
      jitAccessPolicy = {
        jitAccessEnabled = bool
        jitApprovalMode = "string"
        jitApprovers = [
          {
            displayName = "string"
            id = "string"
            type = "string"
          }
        ]
        maximumJitAccessDuration = "string"
      }
      managedResourceGroupId = "string"
      parameters = ?
    }
    sku = {
      capacity = int
      family = "string"
      model = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
  }
}

Valores de propriedade

Microsoft.Solutions/applications

Nome Descrição Valor
identidade A identidade do recurso. Identidade
tipo O tipo do aplicativo gerenciado. Os valores permitidos são MarketPlace e ServiceCatalog. corda

Restrições:
Padrão = ^[-\w\._,\(\)]+$ (obrigatório)
local Local do recurso cadeia
gerenciadoPor ID do recurso que gerencia esse recurso. cadeia
nome O nome do recurso corda

Restrições:
Comprimento mínimo = 3
Comprimento máximo = 64 (obrigatório)
plano As informações do plano. do Plano
Propriedades As propriedades do aplicativo gerenciado. ApplicationProperties (obrigatório)
Sku A SKU do recurso. de SKU
Tags Marcas de recurso Dicionário de nomes e valores de marca.
tipo O tipo de recurso "Microsoft.Solutions/applications@2023-12-01-preview"

AplicaçãoJitAccessPolicy

Nome Descrição Valor
jitAccessEnabled Se o acesso JIT está habilitado. bool (obrigatório)
jitModo de aprovação Modo de aprovação JIT. 'AutoApprove'
'ManualApprove'
'Não especificado'
Aprovadores jit Os aprovadores JIT JitApproverDefinition[]
maximumJitAccessDuration O acesso JIT de duração máxima é concedido. Esse é um valor ISO8601 período de tempo. cadeia

Propriedades do aplicativo

Nome Descrição Valor
applicationDefinitionId O caminho totalmente qualificado da ID de definição de aplicativo gerenciado. cadeia
Política de Acesso jit A política de acesso Jit do aplicativo gerenciado. AplicaçãoJitAccessPolicy
managedResourceGroupId A ID do grupo de recursos gerenciados. cadeia
Parâmetros Pares de nome e valor que definem os parâmetros do aplicativo gerenciado. Pode ser um JObject ou uma cadeia de caracteres JSON bem formada. qualquer

Identidade

Nome Descrição Valor
tipo O tipo de identidade. 'Nenhum'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
Identidades Atribuídas pelo Usuário A lista de identidades de usuário associadas ao recurso. As referências de chave do dicionário de identidade do usuário serão IDs de recurso no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. IdentidadeUserAssignedIdentities

IdentidadeUserAssignedIdentities

Nome Descrição Valor

JitApproverDefinição

Nome Descrição Valor
nome de exibição O nome de exibição do aprovador. cadeia
id A ID da entidade de serviço do aprovador. cadeia de caracteres (obrigatório)
tipo O tipo aprovador. 'Grupo'
'usuário'

Plano

Nome Descrição Valor
nome O nome do plano. cadeia de caracteres (obrigatório)
produto O código do produto. cadeia de caracteres (obrigatório)
código promocional O código de promoção. cadeia
desenvolvedor A ID do editor. cadeia de caracteres (obrigatório)
versão A versão do plano. cadeia de caracteres (obrigatório)

Tags de recursos

Nome Descrição Valor

Sku

Nome Descrição Valor
capacidade A capacidade de SKU. int
família A família SKU. cadeia
modelo O modelo de SKU. cadeia
nome O nome da SKU. cadeia de caracteres (obrigatório)
tamanho O tamanho da SKU. cadeia
nível A camada de SKU. cadeia

UserAssignedResourceIdentity

Nome Descrição Valor

Exemplos de uso

Exemplos do Terraform

Um exemplo básico de implantação do Aplicativo Gerenciado.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

data "azapi_client_config" "current" {}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westus"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "applicationDefinition" {
  type      = "Microsoft.Solutions/applicationDefinitions@2021-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-appdef"
  location  = var.location
  body = {
    properties = {
      authorizations = [{
        principalId      = data.azapi_client_config.current.object_id
        roleDefinitionId = "b24988ac-6180-42a0-ab88-20f7382dd24c"
      }]
      createUiDefinition = "    {\n      \"$schema\": \"https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#\",\n      \"handler\": \"Microsoft.Azure.CreateUIDef\",\n      \"version\": \"0.1.2-preview\",\n      \"parameters\": {\n         \"basics\": [],\n         \"steps\": [],\n         \"outputs\": {}\n      }\n    }\n"
      description        = "Test Managed App Definition"
      displayName        = "TestManagedAppDefinition"
      isEnabled          = true
      lockLevel          = "ReadOnly"
      mainTemplate       = "    {\n      \"$schema\": \"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n      \"contentVersion\": \"1.0.0.0\",\n      \"parameters\": {\n\n         \"boolParameter\": {\n            \"type\": \"bool\"\n         },\n         \"intParameter\": {\n            \"type\": \"int\"\n         },\n         \"stringParameter\": {\n            \"type\": \"string\"\n         },\n         \"secureStringParameter\": {\n            \"type\": \"secureString\"\n         },\n         \"objectParameter\": {\n            \"type\": \"object\"\n         },\n         \"arrayParameter\": {\n            \"type\": \"array\"\n         }\n\n      },\n      \"variables\": {},\n      \"resources\": [],\n      \"outputs\": {\n        \"boolOutput\": {\n          \"type\": \"bool\",\n          \"value\": true\n        },\n        \"intOutput\": {\n          \"type\": \"int\",\n          \"value\": 100\n        },\n        \"stringOutput\": {\n          \"type\": \"string\",\n          \"value\": \"stringOutputValue\"\n        },\n        \"objectOutput\": {\n          \"type\": \"object\",\n          \"value\": {\n            \"nested_bool\": true,\n            \"nested_array\": [\"value_1\", \"value_2\"],\n            \"nested_object\": {\n              \"key_0\": 0\n            }\n          }\n        },\n        \"arrayOutput\": {\n          \"type\": \"array\",\n          \"value\": [\"value_1\", \"value_2\"]\n        }\n      }\n    }\n"
    }
  }
}

resource "azapi_resource" "application" {
  type      = "Microsoft.Solutions/applications@2021-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-app"
  location  = var.location
  body = {
    kind = "ServiceCatalog"
    properties = {
      applicationDefinitionId = azapi_resource.applicationDefinition.id
      managedResourceGroupId  = "/subscriptions/${data.azapi_client_config.current.subscription_id}/resourceGroups/${var.resource_name}-infragroup"
      parameters = {
        arrayParameter = {
          value = ["value_1", "value_2"]
        }
        boolParameter = {
          value = true
        }
        intParameter = {
          value = 100
        }
        objectParameter = {
          value = {
            nested_array = ["value_1", "value_2"]
            nested_bool  = true
            nested_object = {
              key_0 = 0
            }
          }
        }
        secureStringParameter = {
          value = ""
        }
        stringParameter = {
          value = "value_1"
        }
      }
    }
  }
}