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  }