github.com/mmcquillan/packer@v1.1.1-0.20171009221028-c85cf0483a5d/builder/azure/arm/capture_template.go (about)

     1  package arm
     2  
     3  type CaptureTemplateParameter struct {
     4  	Type         string `json:"type"`
     5  	DefaultValue string `json:"defaultValue,omitempty"`
     6  }
     7  
     8  type CaptureHardwareProfile struct {
     9  	VMSize string `json:"vmSize"`
    10  }
    11  
    12  type CaptureUri struct {
    13  	Uri string `json:"uri"`
    14  }
    15  
    16  type CaptureDisk struct {
    17  	OSType       string     `json:"osType"`
    18  	Name         string     `json:"name"`
    19  	Image        CaptureUri `json:"image"`
    20  	Vhd          CaptureUri `json:"vhd"`
    21  	CreateOption string     `json:"createOption"`
    22  	Caching      string     `json:"caching"`
    23  }
    24  
    25  type CaptureStorageProfile struct {
    26  	OSDisk CaptureDisk `json:"osDisk"`
    27  }
    28  
    29  type CaptureOSProfile struct {
    30  	ComputerName  string `json:"computerName"`
    31  	AdminUsername string `json:"adminUsername"`
    32  	AdminPassword string `json:"adminPassword"`
    33  }
    34  
    35  type CaptureNetworkInterface struct {
    36  	Id string `json:"id"`
    37  }
    38  
    39  type CaptureNetworkProfile struct {
    40  	NetworkInterfaces []CaptureNetworkInterface `json:"networkInterfaces"`
    41  }
    42  
    43  type CaptureBootDiagnostics struct {
    44  	Enabled bool `json:"enabled"`
    45  }
    46  
    47  type CaptureDiagnosticProfile struct {
    48  	BootDiagnostics CaptureBootDiagnostics `json:"bootDiagnostics"`
    49  }
    50  
    51  type CaptureProperties struct {
    52  	HardwareProfile    CaptureHardwareProfile   `json:"hardwareProfile"`
    53  	StorageProfile     CaptureStorageProfile    `json:"storageProfile"`
    54  	OSProfile          CaptureOSProfile         `json:"osProfile"`
    55  	NetworkProfile     CaptureNetworkProfile    `json:"networkProfile"`
    56  	DiagnosticsProfile CaptureDiagnosticProfile `json:"diagnosticsProfile"`
    57  	ProvisioningState  int                      `json:"provisioningState"`
    58  }
    59  
    60  type CaptureResources struct {
    61  	ApiVersion string            `json:"apiVersion"`
    62  	Name       string            `json:"name"`
    63  	Type       string            `json:"type"`
    64  	Location   string            `json:"location"`
    65  	Properties CaptureProperties `json:"properties"`
    66  }
    67  
    68  type CaptureTemplate struct {
    69  	Schema         string                              `json:"$schema"`
    70  	ContentVersion string                              `json:"contentVersion"`
    71  	Parameters     map[string]CaptureTemplateParameter `json:"parameters"`
    72  	Resources      []CaptureResources                  `json:"resources"`
    73  }
    74  
    75  type CaptureOperationProperties struct {
    76  	Output *CaptureTemplate `json:"output"`
    77  }
    78  
    79  type CaptureOperation struct {
    80  	OperationId string                      `json:"operationId"`
    81  	Status      string                      `json:"status"`
    82  	Properties  *CaptureOperationProperties `json:"properties"`
    83  }