我正在尝试添加功能,以将VM添加到用于部署的现有Azure ARM JSON模板的恢复服务库中。
我已经使用了以下GitHub模板中的代码,并且如果恢复服务库与VM在同一资源组中,但在不同的资源组中却没有,则此方法有效。
https://github.com/Azure/azure-quickstart-templates/tree/master/101-recovery-
services-backup-vms
代码如下:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"existingVirtualMachinesResourceGroup": {
"type": "string",
"metadata": {
"description": "Resource group where the virtual machines are located. This can be different than resource group of the vault. "
}
},
"existingVirtualMachines": {
"type": "array",
"metadata": {
"description": "Array of Azure virtual machines. e.g. [\"vm1\",\"vm2\",\"vm3\"]"
}
},
"existingRecoveryServicesVault": {
"type": "string",
"metadata": {
"description": "Recovery services vault name where the VMs will be backed up to. "
}
},
"existingBackupPolicy": {
"type": "string",
"defaultValue": "DefaultPolicy",
"metadata": {
"description": "Backup policy to be used to backup VMs. Backup POlicy defines the schedule of the backup and how long to retain backup copies. By default every vault comes with a 'DefaultPolicy' which canbe used here."
}
}
},
"variables": {
"backupFabric": "Azure",
"v2VmType": "Microsoft.Compute/virtualMachines",
"v2VmContainer": "iaasvmcontainer;iaasvmcontainerv2;",
"v2Vm": "vm;iaasvmcontainerv2;"
},
"resources": [
{
"name": "[concat(parameters('existingRecoveryServicesVault'), '/', variables('backupFabric'), '/', variables('v2VmContainer'), concat(parameters('existingVirtualMachinesResourceGroup'),';',parameters('existingVirtualMachines')[copyIndex()]), '/', variables('v2Vm'), concat(parameters('existingVirtualMachinesResourceGroup'),';',parameters('existingVirtualMachines')[copyIndex()]))]",
"apiVersion": "2016-06-01",
"location": "[resourceGroup().location]",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
"copy": {
"name": "v2VmsCopy",
"count": "[length(parameters('existingVirtualMachines'))]"
},
"properties": {
"protectedItemType": "[variables('v2VmType')]",
"policyId": "[resourceId('Microsoft.RecoveryServices/vaults/backupPolicies',parameters('existingRecoveryServicesVault'),parameters('existingBackupPolicy') )]",
"sourceResourceId": "[resourceId(subscription().subscriptionId,parameters('existingVirtualMachinesResourceGroup'),'Microsoft.Compute/virtualMachines',parameters('existingVirtualMachines')[copyIndex()])]"
}
}
]
}
没有变量或参数来定义恢复服务库资源组。
我还查看了以下GitHub模板,该模板还将VM添加到了恢复服务库中,但是同样,它似乎无法使用其他资源组。
https://github.com/Azure/azure-quickstart-templates/tree/master/201-recovery-
services-backup-classic-resource-manager-vms
我已经尝试使用Google搜索,但是到目前为止,我还没有找到答案,这有可能吗?
谢谢
如果对其他人有用,我已经找到了答案。如前所述,恢复服务库将使用为模板定义的相同资源组。为了能够为RSV定义不同的模板,需要使用嵌套模板来完成。
我已经使用以下嵌套模板替换了原始帖子中的恢复服务资源,恢复服务库所需的资源组由“ resourceGroup”定义:“
[parameters(’nestedTemplateRecoveryServicesResourceGroup’)]”,
{
"apiVersion": "2017-05-10",
"name": "nestedTemplateRecoveryServices",
"type": "Microsoft.Resources/deployments",
"resourceGroup": "[parameters('nestedTemplateRecoveryServicesResourceGroup')]",
"dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"],
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"name": "[concat(parameters('existingRecoveryServicesVault'), '/', variables('backupFabric'), '/', variables('v2VmContainer'), concat(parameters('existingVirtualMachinesResourceGroup'),';',parameters('existingVirtualMachines')), '/', variables('v2Vm'), concat(parameters('existingVirtualMachinesResourceGroup'),';',parameters('existingVirtualMachines')))]",
"apiVersion": "2016-06-01",
"location": "[resourceGroup().location]",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
"properties": {
"protectedItemType": "[variables('v2VmType')]",
"policyId": "[resourceId('Microsoft.RecoveryServices/vaults/backupPolicies',parameters('existingRecoveryServicesVault'),parameters('existingBackupPolicy') )]",
"sourceResourceId": "[resourceId(subscription().subscriptionId,parameters('existingVirtualMachinesResourceGroup'),'Microsoft.Compute/virtualMachines',parameters('existingVirtualMachines'))]"
}
}
]
},
"parameters": {},
"outputs": {}
}
}
我有一个jar文件,其中有一些映射文件,我想添加作为hibernate.cfg.xml中的映射资源,因为我在org.hibernate.cfg.comfiguration中添加了jar。 在hibernate.cfg.xml中我添加了… 当我执行java应用程序时,我得到了这个异常... 有人能帮我吗?
TensorFlow 白皮书 在这份白皮书里,你可以找到关于 TensorFlow 编程模型的更多详情和 TensorFlow 的实现原理。 TensorFlow: Large-scale machine learning on heterogeneous systems 引用 如果你在你的研究中使用了 TensorFlow,并且希望在引用中注记 TensorFlow,我们建议你引用上面这篇论文。
问题内容: 我想将背景图像添加到我的JFrame中,但是当我使用下面的代码进行操作时,我无法添加其他元素,例如JLabel或JTextField。 您能否告诉我是否还有另一种方法可以将JTabbedPane添加到具有背景的JFrame中? 谢谢。 问题答案: 像这样? 附录:“通常您会先调用,但是由于图像将覆盖整个背景,因此无需这样做。” — [camickr] 如果仅创建自定义UI来添加背景图像
我正在学习JSwing,我发现了GridBagLayout。 我试图创建一个简单的计算器,我添加了多个JPanel设置每个首选大小,但当我调整窗框大小时,面板也不会调整大小。然后我发现了Gridbag的布局。 但我得到的是:GridBagLayout的计算器错误 } 应该是这样的:正确的计算器 我试过: 要锚定。。。但它不起作用, 创建多个JPanel(一个带有GridLayout),但不起作用
问题内容: 我在3个单独的类中有3个窗口,我想使用cardLayout,以便当你单击next按钮时,将出现下一个窗口。如何将包含不同元素的JPanels添加到一个cardLayout?这是第一个窗口:(尽管唯一的区别是背景-但它代表了我实际得到它的想法) 第二个窗口: 最后一个: 问题答案: 我做了一个小程序,希望程序中写的注释可以指导你了解如何使用CardLayout。
Cheatsheets PHP Cheatsheets - for variable comparisons, arithmetics and variable testing in various PHP versions PHP Security Cheatsheet 更多最佳实践 PHP Best Practices Best practices for Modern PHP Develop