diff options
Diffstat (limited to 'vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go')
-rw-r--r-- | vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go index 898bf77e..7311817c 100644 --- a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go +++ b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go @@ -101,7 +101,7 @@ func (s *TemplateBuilder) BuildWindows(keyVaultName, winRMCertificateUrl string) return nil } -func (s *TemplateBuilder) SetManagedDiskUrl(managedImageId string) error { +func (s *TemplateBuilder) SetManagedDiskUrl(managedImageId string, storageAccountType compute.StorageAccountTypes) error { resource, err := s.getResourceByType(resourceVirtualMachine) if err != nil { return err @@ -115,11 +115,14 @@ func (s *TemplateBuilder) SetManagedDiskUrl(managedImageId string) error { profile.OsDisk.OsType = s.osType profile.OsDisk.CreateOption = compute.FromImage profile.OsDisk.Vhd = nil + profile.OsDisk.ManagedDisk = &compute.ManagedDiskParameters{ + StorageAccountType: storageAccountType, + } return nil } -func (s *TemplateBuilder) SetManagedMarketplaceImage(location, publisher, offer, sku, version, imageID string) error { +func (s *TemplateBuilder) SetManagedMarketplaceImage(location, publisher, offer, sku, version, imageID string, storageAccountType compute.StorageAccountTypes) error { resource, err := s.getResourceByType(resourceVirtualMachine) if err != nil { return err @@ -137,6 +140,9 @@ func (s *TemplateBuilder) SetManagedMarketplaceImage(location, publisher, offer, profile.OsDisk.OsType = s.osType profile.OsDisk.CreateOption = compute.FromImage profile.OsDisk.Vhd = nil + profile.OsDisk.ManagedDisk = &compute.ManagedDiskParameters{ + StorageAccountType: storageAccountType, + } return nil } @@ -219,6 +225,24 @@ func (s *TemplateBuilder) SetVirtualNetwork(virtualNetworkResourceGroup, virtual return nil } +func (s *TemplateBuilder) SetPrivateVirtualNetworWithPublicIp(virtualNetworkResourceGroup, virtualNetworkName, subnetName string) error { + s.setVariable("virtualNetworkResourceGroup", virtualNetworkResourceGroup) + s.setVariable("virtualNetworkName", virtualNetworkName) + s.setVariable("subnetName", subnetName) + + s.deleteResourceByType(resourceVirtualNetworks) + resource, err := s.getResourceByType(resourceNetworkInterfaces) + if err != nil { + return err + } + + s.deleteResourceDependency(resource, func(s string) bool { + return strings.Contains(s, "Microsoft.Network/virtualNetworks") + }) + + return nil +} + func (s *TemplateBuilder) SetTags(tags *map[string]*string) error { if tags == nil || len(*tags) == 0 { return nil |