Bicep の場合は、このリソースの種類ではなく モジュールを使用 することを検討してください。
Bicep リソース定義
デプロイ リソースの種類は、次を対象とする操作でデプロイできます。
-
リソース グループの - リソース グループのデプロイ コマンド 参照
各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。
使用例
Bicep のサンプル
テンプレート展開の基本的な例。
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource deployment 'Microsoft.Resources/deployments@2020-06-01' = {
name: resourceName
properties: {
mode: 'Complete'
template: {
'$schema': 'https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#'
contentVersion: '1.0.0.0'
parameters: {
storageAccountType: {
allowedValues: [
'Standard_LRS'
'Standard_GRS'
'Standard_ZRS'
]
defaultValue: 'Standard_LRS'
metadata: {
description: 'Storage Account type'
}
type: 'string'
}
}
resources: [
{
apiVersion: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
location: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
name: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
properties: {
accountType: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
}
type: 'Microsoft.Storage/storageAccounts'
}
{
apiVersion: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
location: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
name: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
properties: {
dnsSettings: {
domainNameLabel: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
}
publicIPAllocationMethod: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
}
type: 'Microsoft.Network/publicIPAddresses'
}
]
variables: {
apiVersion: '2015-06-15'
dnsLabelPrefix: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
location: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
publicIPAddressName: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
publicIPAddressType: 'Dynamic'
storageAccountName: /* ERROR: Unparsed HCL syntax in LiteralNode */ {}
}
}
}
}
Microsoft.Resources/deployments リソースを作成するには、次の Bicep をテンプレートに追加します。
resource symbolicname 'Microsoft.Resources/deployments@2016-07-01' = {
name: 'string'
properties: {
debugSetting: {
detailLevel: 'string'
}
mode: 'string'
parameters: any(...)
parametersLink: {
contentVersion: 'string'
uri: 'string'
}
template: any(...)
templateLink: {
contentVersion: 'string'
uri: 'string'
}
}
}
プロパティ値
Microsoft.Resources/deployments
デバッグ設定
| 名前 |
説明 |
価値 |
| detailLevel (詳細レベル) |
デバッグの詳細レベル。 |
文字列 |
DeploymentPropertiesまたはDeploymentPropertiesExtended
| 名前 |
説明 |
価値 |
| デバッグ設定 |
デプロイのデバッグ設定。 |
デバッグ設定 |
| モード |
デプロイ モード。 |
「コンプリート」 'Incremental' (必須) |
| パラメーター |
デプロイ パラメーター。 JObject または整形式の JSON 文字列を指定できます。 パラメーターまたは ParametersLink の 1 つだけを使用します。 |
任意 |
| パラメータリンク |
パラメーター URI。 パラメーターまたは ParametersLink の 1 つだけを使用します。 |
パラメータリンク |
| テンプレート |
テンプレートの内容。 JObject または整形式の JSON 文字列を指定できます。 Template または TemplateLink の 1 つだけを使用します。 |
任意 |
| テンプレートリンク |
テンプレート URI。 Template または TemplateLink の 1 つだけを使用します。 |
テンプレートリンク |
パラメータリンク
| 名前 |
説明 |
価値 |
| コンテンツバージョン |
含まれている場合は、テンプレートの ContentVersion と一致する必要があります。 |
文字列 |
| URI |
テンプレートを参照する URI。 |
string (必須) |
テンプレートリンク
| 名前 |
説明 |
価値 |
| コンテンツバージョン |
含まれている場合は、テンプレートの ContentVersion と一致する必要があります。 |
文字列 |
| URI |
テンプレートを参照する URI。 |
string (必須) |
ARM テンプレート リソース定義
デプロイ リソースの種類は、次を対象とする操作でデプロイできます。
使用例
Microsoft.Resources/deployments リソースを作成するには、次の JSON をテンプレートに追加します。
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2016-07-01",
"name": "string",
"properties": {
"debugSetting": {
"detailLevel": "string"
},
"mode": "string",
"parameters": {},
"parametersLink": {
"contentVersion": "string",
"uri": "string"
},
"template": {},
"templateLink": {
"contentVersion": "string",
"uri": "string"
}
}
}
プロパティ値
Microsoft.Resources/deployments
デバッグ設定
| 名前 |
説明 |
価値 |
| detailLevel (詳細レベル) |
デバッグの詳細レベル。 |
文字列 |
DeploymentPropertiesまたはDeploymentPropertiesExtended
| 名前 |
説明 |
価値 |
| デバッグ設定 |
デプロイのデバッグ設定。 |
デバッグ設定 |
| モード |
デプロイ モード。 |
「コンプリート」 'Incremental' (必須) |
| パラメーター |
デプロイ パラメーター。 JObject または整形式の JSON 文字列を指定できます。 パラメーターまたは ParametersLink の 1 つだけを使用します。 |
任意 |
| パラメータリンク |
パラメーター URI。 パラメーターまたは ParametersLink の 1 つだけを使用します。 |
パラメータリンク |
| テンプレート |
テンプレートの内容。 JObject または整形式の JSON 文字列を指定できます。 Template または TemplateLink の 1 つだけを使用します。 |
任意 |
| テンプレートリンク |
テンプレート URI。 Template または TemplateLink の 1 つだけを使用します。 |
テンプレートリンク |
パラメータリンク
| 名前 |
説明 |
価値 |
| コンテンツバージョン |
含まれている場合は、テンプレートの ContentVersion と一致する必要があります。 |
文字列 |
| URI |
テンプレートを参照する URI。 |
string (必須) |
テンプレートリンク
| 名前 |
説明 |
価値 |
| コンテンツバージョン |
含まれている場合は、テンプレートの ContentVersion と一致する必要があります。 |
文字列 |
| URI |
テンプレートを参照する URI。 |
string (必須) |
デプロイ リソースの種類は、次を対象とする操作でデプロイできます。
-
リソースグループ 各APIバージョンの変更プロパティ一覧については、 変更ログをご覧ください。
使用例
テンプレート展開の基本的な例。
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "deployment" {
type = "Microsoft.Resources/deployments@2020-06-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
body = {
properties = {
mode = "Complete"
template = {
"$schema" = "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#"
contentVersion = "1.0.0.0"
parameters = {
storageAccountType = {
allowedValues = [
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
]
defaultValue = "Standard_LRS"
metadata = {
description = "Storage Account type"
}
type = "string"
}
}
resources = [
{
apiVersion = "[variables('apiVersion')]"
location = "[variables('location')]"
name = "[variables('storageAccountName')]"
properties = {
accountType = "[parameters('storageAccountType')]"
}
type = "Microsoft.Storage/storageAccounts"
},
{
apiVersion = "[variables('apiVersion')]"
location = "[variables('location')]"
name = "[variables('publicIPAddressName')]"
properties = {
dnsSettings = {
domainNameLabel = "[variables('dnsLabelPrefix')]"
}
publicIPAllocationMethod = "[variables('publicIPAddressType')]"
}
type = "Microsoft.Network/publicIPAddresses"
},
]
variables = {
apiVersion = "2015-06-15"
dnsLabelPrefix = "[concat('terraform-tdacctest', uniquestring(resourceGroup().id))]"
location = "[resourceGroup().location]"
publicIPAddressName = "[concat('myPublicIp', uniquestring(resourceGroup().id))]"
publicIPAddressType = "Dynamic"
storageAccountName = "[concat(uniquestring(resourceGroup().id), 'storage')]"
}
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Microsoft.Resources/deployments リソースを作成するには、次の Terraform をテンプレートに追加します。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Resources/deployments@2016-07-01"
name = "string"
parent_id = "string"
body = {
properties = {
debugSetting = {
detailLevel = "string"
}
mode = "string"
parameters = ?
parametersLink = {
contentVersion = "string"
uri = "string"
}
template = ?
templateLink = {
contentVersion = "string"
uri = "string"
}
}
}
}
プロパティ値
Microsoft.Resources/deployments
デバッグ設定
| 名前 |
説明 |
価値 |
| detailLevel (詳細レベル) |
デバッグの詳細レベル。 |
文字列 |
DeploymentPropertiesまたはDeploymentPropertiesExtended
| 名前 |
説明 |
価値 |
| デバッグ設定 |
デプロイのデバッグ設定。 |
デバッグ設定 |
| モード |
デプロイ モード。 |
「コンプリート」 'Incremental' (必須) |
| パラメーター |
デプロイ パラメーター。 JObject または整形式の JSON 文字列を指定できます。 パラメーターまたは ParametersLink の 1 つだけを使用します。 |
任意 |
| パラメータリンク |
パラメーター URI。 パラメーターまたは ParametersLink の 1 つだけを使用します。 |
パラメータリンク |
| テンプレート |
テンプレートの内容。 JObject または整形式の JSON 文字列を指定できます。 Template または TemplateLink の 1 つだけを使用します。 |
任意 |
| テンプレートリンク |
テンプレート URI。 Template または TemplateLink の 1 つだけを使用します。 |
テンプレートリンク |
パラメータリンク
| 名前 |
説明 |
価値 |
| コンテンツバージョン |
含まれている場合は、テンプレートの ContentVersion と一致する必要があります。 |
文字列 |
| URI |
テンプレートを参照する URI。 |
string (必須) |
テンプレートリンク
| 名前 |
説明 |
価値 |
| コンテンツバージョン |
含まれている場合は、テンプレートの ContentVersion と一致する必要があります。 |
文字列 |
| URI |
テンプレートを参照する URI。 |
string (必須) |