Documentation ¶
Index ¶
- Constants
- type Artifact
- type Authenticate
- type AzureClient
- type Builder
- type CaptureBootDiagnostics
- type CaptureDiagnosticProfile
- type CaptureDisk
- type CaptureHardwareProfile
- type CaptureNetworkInterface
- type CaptureNetworkProfile
- type CaptureOSProfile
- type CaptureOperation
- type CaptureOperationProperties
- type CaptureProperties
- type CaptureResources
- type CaptureStorageProfile
- type CaptureTemplate
- type CaptureTemplateParameter
- type CaptureUri
- type Config
- type DeploymentFactory
- type DeploymentPoller
- type OpenSshKeyPair
- type StepCaptureImage
- type StepCreateResourceGroup
- type StepDeleteOSDisk
- type StepDeleteResourceGroup
- type StepDeployTemplate
- type StepGetCertificate
- type StepGetIPAddress
- type StepGetOSDisk
- type StepPowerOffCompute
- type StepSetCertificate
- type StepValidateTemplate
- type TempName
- type TemplateParameter
- type TemplateParameters
Constants ¶
View Source
const ( DefaultPublicIPAddressName = "packerPublicIP" DefaultSasBlobContainer = "system/Microsoft.Compute" DefaultSasBlobPermission = "r" DefaultSecretName = "packerKeyVaultSecret" )
View Source
const ( DefaultCloudEnvironmentName = "Public" DefaultImageVersion = "latest" DefaultUserName = "packer" DefaultVMSize = "Standard_A1" )
View Source
const ( DeployCanceled = "Canceled" DeployFailed = "Failed" DeployDeleted = "Deleted" DeploySucceeded = "Succeeded" )
View Source
const ( TempNameAlphabet = "0123456789bcdfghjklmnpqrstvwxyz" TempPasswordAlphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" )
View Source
const (
BuilderId = "Azure.ResourceManagement.VMImage"
)
View Source
const (
EnvPackerLogAzureMaxLen = "PACKER_LOG_AZURE_MAXLEN"
)
View Source
const (
KeySize = 2048
)
View Source
const KeyVault = `` /* 2304-byte string literal not displayed */
Template to deploy a KeyVault.
NOTE: the parameters for the KeyVault template are identical to Windows template. Keeping these values in sync simplifies the code at the expense of template bloat. This bloat may be addressed in the future.
View Source
const Linux = `` /* 5296-byte string literal not displayed */
View Source
const Windows = `` /* 5857-byte string literal not displayed */
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Artifact ¶ added in v0.10.1
type Artifact struct { StorageAccountLocation string OSDiskUri string TemplateUri string OSDiskUriReadOnlySas string TemplateUriReadOnlySas string }
func NewArtifact ¶ added in v0.10.1
func NewArtifact(template *CaptureTemplate, getSasUrl func(name string) string) (*Artifact, error)
type Authenticate ¶ added in v0.10.1
type Authenticate struct {
// contains filtered or unexported fields
}
func NewAuthenticate ¶ added in v0.10.1
func NewAuthenticate(env azure.Environment, clientID, clientSecret, tenantID string) *Authenticate
type AzureClient ¶
type AzureClient struct { storage.BlobStorageClient resources.DeploymentsClient resources.GroupsClient network.PublicIPAddressesClient compute.VirtualMachinesClient common.VaultClient armStorage.AccountsClient InspectorMaxLength int Template *CaptureTemplate }
func NewAzureClient ¶
func NewAzureClient(subscriptionID, resourceGroupName, storageAccountName string, servicePrincipalToken, servicePrincipalTokenVault *azure.ServicePrincipalToken) (*AzureClient, error)
type CaptureBootDiagnostics ¶ added in v0.10.1
type CaptureBootDiagnostics struct {
Enabled bool `json:"enabled"`
}
type CaptureDiagnosticProfile ¶ added in v0.10.1
type CaptureDiagnosticProfile struct {
BootDiagnostics CaptureBootDiagnostics `json:"bootDiagnostics"`
}
type CaptureDisk ¶ added in v0.10.1
type CaptureDisk struct { OSType string `json:"osType"` Name string `json:"name"` Image CaptureUri `json:"image"` Vhd CaptureUri `json:"vhd"` CreateOption string `json:"createOption"` Caching string `json:"caching"` }
type CaptureHardwareProfile ¶ added in v0.10.1
type CaptureHardwareProfile struct {
VMSize string `json:"vmSize"`
}
type CaptureNetworkInterface ¶ added in v0.10.1
type CaptureNetworkInterface struct {
Id string `json:"id"`
}
type CaptureNetworkProfile ¶ added in v0.10.1
type CaptureNetworkProfile struct {
NetworkInterfaces []CaptureNetworkInterface `json:"networkInterfaces"`
}
type CaptureOSProfile ¶ added in v0.10.1
type CaptureOperation ¶ added in v0.10.1
type CaptureOperation struct { OperationId string `json:"operationId"` Status string `json:"status"` Properties *CaptureOperationProperties `json:"properties"` }
type CaptureOperationProperties ¶ added in v0.10.1
type CaptureOperationProperties struct {
Output *CaptureTemplate `json:"output"`
}
type CaptureProperties ¶ added in v0.10.1
type CaptureProperties struct { HardwareProfile CaptureHardwareProfile `json:"hardwareProfile"` StorageProfile CaptureStorageProfile `json:"storageProfile"` OSProfile CaptureOSProfile `json:"osProfile"` NetworkProfile CaptureNetworkProfile `json:"networkProfile"` DiagnosticsProfile CaptureDiagnosticProfile `json:"diagnosticsProfile"` ProvisioningState int `json:"provisioningState"` }
type CaptureResources ¶ added in v0.10.1
type CaptureResources struct { ApiVersion string `json:"apiVersion"` Name string `json:"name"` Type string `json:"type"` Location string `json:"location"` Properties CaptureProperties `json:"properties"` }
type CaptureStorageProfile ¶ added in v0.10.1
type CaptureStorageProfile struct {
OSDisk CaptureDisk `json:"osDisk"`
}
type CaptureTemplate ¶ added in v0.10.1
type CaptureTemplate struct { Schema string `json:"$schema"` ContentVersion string `json:"contentVersion"` Parameters map[string]CaptureTemplateParameter `json:"parameters"` Resources []CaptureResources `json:"resources"` }
type CaptureTemplateParameter ¶ added in v0.10.1
type CaptureUri ¶ added in v0.10.1
type CaptureUri struct {
Uri string `json:"uri"`
}
type Config ¶
type Config struct { common.PackerConfig `mapstructure:",squash"` // Authentication via OAUTH ClientID string `mapstructure:"client_id"` ClientSecret string `mapstructure:"client_secret"` ObjectID string `mapstructure:"object_id"` TenantID string `mapstructure:"tenant_id"` SubscriptionID string `mapstructure:"subscription_id"` // Capture CaptureNamePrefix string `mapstructure:"capture_name_prefix"` CaptureContainerName string `mapstructure:"capture_container_name"` // Compute ImagePublisher string `mapstructure:"image_publisher"` ImageOffer string `mapstructure:"image_offer"` ImageSku string `mapstructure:"image_sku"` ImageVersion string `mapstructure:"image_version"` Location string `mapstructure:"location"` VMSize string `mapstructure:"vm_size"` // Deployment ResourceGroupName string `mapstructure:"resource_group_name"` StorageAccount string `mapstructure:"storage_account"` CloudEnvironmentName string `mapstructure:"cloud_environment_name"` // OS OSType string `mapstructure:"os_type"` // Runtime Values UserName string Password string Comm communicator.Config `mapstructure:",squash"` // contains filtered or unexported fields }
type DeploymentFactory ¶
type DeploymentFactory struct {
// contains filtered or unexported fields
}
type DeploymentPoller ¶
type DeploymentPoller struct {
// contains filtered or unexported fields
}
func NewDeploymentPoller ¶
func NewDeploymentPoller(getProvisioningState func() (string, error)) *DeploymentPoller
func (*DeploymentPoller) PollAsNeeded ¶
func (t *DeploymentPoller) PollAsNeeded() (string, error)
type OpenSshKeyPair ¶
type OpenSshKeyPair struct {
// contains filtered or unexported fields
}
func NewOpenSshKeyPair ¶
func NewOpenSshKeyPair() (*OpenSshKeyPair, error)
func NewOpenSshKeyPairWithSize ¶
func NewOpenSshKeyPairWithSize(keySize int) (*OpenSshKeyPair, error)
func (*OpenSshKeyPair) AuthorizedKey ¶
func (s *OpenSshKeyPair) AuthorizedKey() string
func (*OpenSshKeyPair) PrivateKey ¶
func (s *OpenSshKeyPair) PrivateKey() string
type StepCaptureImage ¶
type StepCaptureImage struct {
// contains filtered or unexported fields
}
func NewStepCaptureImage ¶
func NewStepCaptureImage(client *AzureClient, ui packer.Ui) *StepCaptureImage
func (*StepCaptureImage) Cleanup ¶
func (*StepCaptureImage) Cleanup(multistep.StateBag)
func (*StepCaptureImage) Run ¶
func (s *StepCaptureImage) Run(state multistep.StateBag) multistep.StepAction
type StepCreateResourceGroup ¶
type StepCreateResourceGroup struct {
// contains filtered or unexported fields
}
func NewStepCreateResourceGroup ¶
func NewStepCreateResourceGroup(client *AzureClient, ui packer.Ui) *StepCreateResourceGroup
func (*StepCreateResourceGroup) Cleanup ¶
func (s *StepCreateResourceGroup) Cleanup(state multistep.StateBag)
func (*StepCreateResourceGroup) Run ¶
func (s *StepCreateResourceGroup) Run(state multistep.StateBag) multistep.StepAction
type StepDeleteOSDisk ¶
type StepDeleteOSDisk struct {
// contains filtered or unexported fields
}
func NewStepDeleteOSDisk ¶
func NewStepDeleteOSDisk(client *AzureClient, ui packer.Ui) *StepDeleteOSDisk
func (*StepDeleteOSDisk) Cleanup ¶
func (*StepDeleteOSDisk) Cleanup(multistep.StateBag)
func (*StepDeleteOSDisk) Run ¶
func (s *StepDeleteOSDisk) Run(state multistep.StateBag) multistep.StepAction
type StepDeleteResourceGroup ¶
type StepDeleteResourceGroup struct {
// contains filtered or unexported fields
}
func NewStepDeleteResourceGroup ¶
func NewStepDeleteResourceGroup(client *AzureClient, ui packer.Ui) *StepDeleteResourceGroup
func (*StepDeleteResourceGroup) Cleanup ¶
func (*StepDeleteResourceGroup) Cleanup(multistep.StateBag)
func (*StepDeleteResourceGroup) Run ¶
func (s *StepDeleteResourceGroup) Run(state multistep.StateBag) multistep.StepAction
type StepDeployTemplate ¶
type StepDeployTemplate struct {
// contains filtered or unexported fields
}
func NewStepDeployTemplate ¶
func NewStepDeployTemplate(client *AzureClient, ui packer.Ui, template string) *StepDeployTemplate
func (*StepDeployTemplate) Cleanup ¶
func (*StepDeployTemplate) Cleanup(multistep.StateBag)
func (*StepDeployTemplate) Run ¶
func (s *StepDeployTemplate) Run(state multistep.StateBag) multistep.StepAction
type StepGetCertificate ¶ added in v0.10.1
type StepGetCertificate struct {
// contains filtered or unexported fields
}
func NewStepGetCertificate ¶ added in v0.10.1
func NewStepGetCertificate(client *AzureClient, ui packer.Ui) *StepGetCertificate
func (*StepGetCertificate) Cleanup ¶ added in v0.10.1
func (*StepGetCertificate) Cleanup(multistep.StateBag)
func (*StepGetCertificate) Run ¶ added in v0.10.1
func (s *StepGetCertificate) Run(state multistep.StateBag) multistep.StepAction
type StepGetIPAddress ¶
type StepGetIPAddress struct {
// contains filtered or unexported fields
}
func NewStepGetIPAddress ¶
func NewStepGetIPAddress(client *AzureClient, ui packer.Ui) *StepGetIPAddress
func (*StepGetIPAddress) Cleanup ¶
func (*StepGetIPAddress) Cleanup(multistep.StateBag)
func (*StepGetIPAddress) Run ¶
func (s *StepGetIPAddress) Run(state multistep.StateBag) multistep.StepAction
type StepGetOSDisk ¶
type StepGetOSDisk struct {
// contains filtered or unexported fields
}
func NewStepGetOSDisk ¶
func NewStepGetOSDisk(client *AzureClient, ui packer.Ui) *StepGetOSDisk
func (*StepGetOSDisk) Cleanup ¶
func (*StepGetOSDisk) Cleanup(multistep.StateBag)
func (*StepGetOSDisk) Run ¶
func (s *StepGetOSDisk) Run(state multistep.StateBag) multistep.StepAction
type StepPowerOffCompute ¶
type StepPowerOffCompute struct {
// contains filtered or unexported fields
}
func NewStepPowerOffCompute ¶
func NewStepPowerOffCompute(client *AzureClient, ui packer.Ui) *StepPowerOffCompute
func (*StepPowerOffCompute) Cleanup ¶
func (*StepPowerOffCompute) Cleanup(multistep.StateBag)
func (*StepPowerOffCompute) Run ¶
func (s *StepPowerOffCompute) Run(state multistep.StateBag) multistep.StepAction
type StepSetCertificate ¶ added in v0.10.1
type StepSetCertificate struct {
// contains filtered or unexported fields
}
func NewStepSetCertificate ¶ added in v0.10.1
func NewStepSetCertificate(config *Config, ui packer.Ui) *StepSetCertificate
func (*StepSetCertificate) Cleanup ¶ added in v0.10.1
func (*StepSetCertificate) Cleanup(multistep.StateBag)
func (*StepSetCertificate) Run ¶ added in v0.10.1
func (s *StepSetCertificate) Run(state multistep.StateBag) multistep.StepAction
type StepValidateTemplate ¶
type StepValidateTemplate struct {
// contains filtered or unexported fields
}
func NewStepValidateTemplate ¶
func NewStepValidateTemplate(client *AzureClient, ui packer.Ui, template string) *StepValidateTemplate
func (*StepValidateTemplate) Cleanup ¶
func (*StepValidateTemplate) Cleanup(multistep.StateBag)
func (*StepValidateTemplate) Run ¶
func (s *StepValidateTemplate) Run(state multistep.StateBag) multistep.StepAction
type TempName ¶
type TempName struct { AdminPassword string CertificatePassword string ComputeName string DeploymentName string KeyVaultName string ResourceGroupName string OSDiskName string }
func NewTempName ¶
func NewTempName() *TempName
type TemplateParameter ¶
type TemplateParameter struct {
Value string `json:"value"`
}
type TemplateParameters ¶
type TemplateParameters struct { AdminUsername *TemplateParameter `json:"adminUsername,omitempty"` AdminPassword *TemplateParameter `json:"adminPassword,omitempty"` DnsNameForPublicIP *TemplateParameter `json:"dnsNameForPublicIP,omitempty"` ImageOffer *TemplateParameter `json:"imageOffer,omitempty"` ImagePublisher *TemplateParameter `json:"imagePublisher,omitempty"` ImageSku *TemplateParameter `json:"imageSku,omitempty"` ImageVersion *TemplateParameter `json:"imageVersion,omitempty"` KeyVaultName *TemplateParameter `json:"keyVaultName,omitempty"` KeyVaultSecretValue *TemplateParameter `json:"keyVaultSecretValue,omitempty"` ObjectId *TemplateParameter `json:"objectId,omitempty"` OSDiskName *TemplateParameter `json:"osDiskName,omitempty"` SshAuthorizedKey *TemplateParameter `json:"sshAuthorizedKey,omitempty"` StorageAccountBlobEndpoint *TemplateParameter `json:"storageAccountBlobEndpoint,omitempty"` TenantId *TemplateParameter `json:"tenantId,omitempty"` VMSize *TemplateParameter `json:"vmSize,omitempty"` VMName *TemplateParameter `json:"vmName,omitempty"` WinRMCertificateUrl *TemplateParameter `json:"winRMCertificateUrl,omitempty"` }
Source Files ¶
- artifact.go
- authenticate.go
- azure_client.go
- builder.go
- capture_template.go
- config.go
- deployment_factory.go
- deployment_poller.go
- inspector.go
- openssh_key_pair.go
- step.go
- step_capture_image.go
- step_create_resource_group.go
- step_delete_os_disk.go
- step_delete_resource_group.go
- step_deploy_template.go
- step_get_certificate.go
- step_get_ip_address.go
- step_get_os_disk.go
- step_power_off_compute.go
- step_set_certificate.go
- step_validate_template.go
- template.go
- template_parameters.go
- tempname.go
Click to show internal directories.
Click to hide internal directories.