github.com/marksheahan/packer@v0.10.2-0.20160613200515-1acb2d6645a0/builder/azure/common/template/template.go (about) 1 package template 2 3 import ( 4 "github.com/Azure/azure-sdk-for-go/arm/compute" 5 "github.com/Azure/azure-sdk-for-go/arm/network" 6 //"github.com/Azure/azure-sdk-for-go/arm/resources/resources" 7 ) 8 9 ///////////////////////////////////////////////// 10 // Template 11 type Template struct { 12 Schema *string `json:"$schema"` 13 ContentVersion *string `json:"contentVersion"` 14 Parameters *map[string]Parameters `json:"parameters"` 15 Variables *map[string]string `json:"variables"` 16 Resources *[]Resource `json:"resources"` 17 } 18 19 ///////////////////////////////////////////////// 20 // Template > Parameters 21 type Parameters struct { 22 Type *string `json:"type"` 23 DefaultValue *string `json:"defaultValue,omitempty"` 24 } 25 26 ///////////////////////////////////////////////// 27 // Template > Resource 28 type Resource struct { 29 ApiVersion *string `json:"apiVersion"` 30 Name *string `json:"name"` 31 Type *string `json:"type"` 32 Location *string `json:"location"` 33 DependsOn *[]string `json:"dependsOn,omitempty"` 34 Properties *Properties `json:"properties,omitempty"` 35 } 36 37 ///////////////////////////////////////////////// 38 // Template > Resource > Properties 39 type Properties struct { 40 AddressSpace *network.AddressSpace `json:"addressSpace,omitempty"` 41 DiagnosticsProfile *compute.DiagnosticsProfile `json:"diagnosticsProfile,omitempty"` 42 DNSSettings *network.PublicIPAddressDNSSettings `json:"dnsSettings,omitempty"` 43 HardwareProfile *compute.HardwareProfile `json:"hardwareProfile,omitempty"` 44 IPConfigurations *[]network.IPConfiguration `json:"ipConfigurations,omitempty"` 45 NetworkProfile *compute.NetworkProfile `json:"networkProfile,omitempty"` 46 OsProfile *compute.OSProfile `json:"osProfile,omitempty"` 47 PublicIPAllocatedMethod *network.IPAllocationMethod `json:"publicIPAllocationMethod,omitempty"` 48 StorageProfile *compute.StorageProfile `json:"storageProfile,omitempty"` 49 Subnets *[]network.Subnet `json:"subnets,omitempty"` 50 }