github.phpd.cn/hashicorp/packer@v1.3.2/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  	DataDisks []CaptureDisk `json:"dataDisks"`
    28  }
    29  
    30  type CaptureOSProfile struct {
    31  	ComputerName  string `json:"computerName"`
    32  	AdminUsername string `json:"adminUsername"`
    33  	AdminPassword string `json:"adminPassword"`
    34  }
    35  
    36  type CaptureNetworkInterface struct {
    37  	Id string `json:"id"`
    38  }
    39  
    40  type CaptureNetworkProfile struct {
    41  	NetworkInterfaces []CaptureNetworkInterface `json:"networkInterfaces"`
    42  }
    43  
    44  type CaptureBootDiagnostics struct {
    45  	Enabled bool `json:"enabled"`
    46  }
    47  
    48  type CaptureDiagnosticProfile struct {
    49  	BootDiagnostics CaptureBootDiagnostics `json:"bootDiagnostics"`
    50  }
    51  
    52  type CaptureProperties struct {
    53  	HardwareProfile    CaptureHardwareProfile   `json:"hardwareProfile"`
    54  	StorageProfile     CaptureStorageProfile    `json:"storageProfile"`
    55  	OSProfile          CaptureOSProfile         `json:"osProfile"`
    56  	NetworkProfile     CaptureNetworkProfile    `json:"networkProfile"`
    57  	DiagnosticsProfile CaptureDiagnosticProfile `json:"diagnosticsProfile"`
    58  	ProvisioningState  int                      `json:"provisioningState"`
    59  }
    60  
    61  type CaptureResources struct {
    62  	ApiVersion string            `json:"apiVersion"`
    63  	Name       string            `json:"name"`
    64  	Type       string            `json:"type"`
    65  	Location   string            `json:"location"`
    66  	Properties CaptureProperties `json:"properties"`
    67  }
    68  
    69  type CaptureTemplate struct {
    70  	Schema         string                              `json:"$schema"`
    71  	ContentVersion string                              `json:"contentVersion"`
    72  	Parameters     map[string]CaptureTemplateParameter `json:"parameters"`
    73  	Resources      []CaptureResources                  `json:"resources"`
    74  }
    75  
    76  type CaptureOperationProperties struct {
    77  	Output *CaptureTemplate `json:"output"`
    78  }
    79  
    80  type CaptureOperation struct {
    81  	OperationId string                      `json:"operationId"`
    82  	Status      string                      `json:"status"`
    83  	Properties  *CaptureOperationProperties `json:"properties"`
    84  }