Merge branch 'master' of https://github.com/amydutta/packer
This commit is contained in:
commit
bf075d20c3
|
@ -73,6 +73,15 @@ type SharedImageGallery struct {
|
||||||
ImageVersion string `mapstructure:"image_version"`
|
ImageVersion string `mapstructure:"image_version"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SharedImageGalleryDestination struct {
|
||||||
|
SigDestinationSubscription string `mapstructure:"subscription"`
|
||||||
|
SigDestinationResourceGroup string `mapstructure:"resource_group"`
|
||||||
|
SigDestinationGalleryName string `mapstructure:"gallery_name"`
|
||||||
|
SigDestinationImageName string `mapstructure:"image_name"`
|
||||||
|
SigDestinationImageVersion string `mapstructure:"image_version"`
|
||||||
|
SigDestinationReplicationRegions []string `mapstructure:"replication_regions"`
|
||||||
|
}
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
common.PackerConfig `mapstructure:",squash"`
|
common.PackerConfig `mapstructure:",squash"`
|
||||||
|
|
||||||
|
@ -86,6 +95,9 @@ type Config struct {
|
||||||
// Shared Gallery
|
// Shared Gallery
|
||||||
SharedGallery SharedImageGallery `mapstructure:"shared_image_gallery"`
|
SharedGallery SharedImageGallery `mapstructure:"shared_image_gallery"`
|
||||||
|
|
||||||
|
// Shared Gallery Destination
|
||||||
|
SharedGalleryDestination SharedImageGalleryDestination `mapstructure:"shared_image_gallery_destination"`
|
||||||
|
|
||||||
// Compute
|
// Compute
|
||||||
ImagePublisher string `mapstructure:"image_publisher"`
|
ImagePublisher string `mapstructure:"image_publisher"`
|
||||||
ImageOffer string `mapstructure:"image_offer"`
|
ImageOffer string `mapstructure:"image_offer"`
|
||||||
|
@ -559,16 +571,16 @@ func assertRequiredParametersSet(c *Config, errs *packer.MultiError) {
|
||||||
}
|
}
|
||||||
} else if c.ImageUrl == "" && c.ImagePublisher == "" {
|
} else if c.ImageUrl == "" && c.ImagePublisher == "" {
|
||||||
if c.CustomManagedImageResourceGroupName == "" {
|
if c.CustomManagedImageResourceGroupName == "" {
|
||||||
errs = packer.MultiErrorAppend(errs, fmt.Errorf("An custom_managed_image_resource_group_name must be specified"))
|
errs = packer.MultiErrorAppend(errs, fmt.Errorf("A custom_managed_image_resource_group_name must be specified"))
|
||||||
}
|
}
|
||||||
if c.CustomManagedImageName == "" {
|
if c.CustomManagedImageName == "" {
|
||||||
errs = packer.MultiErrorAppend(errs, fmt.Errorf("A custom_managed_image_name must be specified"))
|
errs = packer.MultiErrorAppend(errs, fmt.Errorf("A custom_managed_image_name must be specified"))
|
||||||
}
|
}
|
||||||
if c.ManagedImageResourceGroupName == "" {
|
if c.ManagedImageResourceGroupName == "" {
|
||||||
errs = packer.MultiErrorAppend(errs, fmt.Errorf("An managed_image_resource_group_name must be specified"))
|
errs = packer.MultiErrorAppend(errs, fmt.Errorf("A managed_image_resource_group_name must be specified"))
|
||||||
}
|
}
|
||||||
if c.ManagedImageName == "" {
|
if c.ManagedImageName == "" {
|
||||||
errs = packer.MultiErrorAppend(errs, fmt.Errorf("An managed_image_name must be specified"))
|
errs = packer.MultiErrorAppend(errs, fmt.Errorf("A managed_image_name must be specified"))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if c.ImagePublisher != "" || c.ImageOffer != "" || c.ImageSku != "" || c.ImageVersion != "" {
|
if c.ImagePublisher != "" || c.ImageOffer != "" || c.ImageSku != "" || c.ImageVersion != "" {
|
||||||
|
@ -623,6 +635,24 @@ func assertRequiredParametersSet(c *Config, errs *packer.MultiError) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if c.SharedGalleryDestination.SigDestinationGalleryName != "" {
|
||||||
|
if c.SharedGalleryDestination.SigDestinationSubscription == "" {
|
||||||
|
errs = packer.MultiErrorAppend(errs, fmt.Errorf("A subscription must be specified for shared_image_gallery_destination"))
|
||||||
|
}
|
||||||
|
if c.SharedGalleryDestination.SigDestinationResourceGroup == "" {
|
||||||
|
errs = packer.MultiErrorAppend(errs, fmt.Errorf("A resource_group must be specified for shared_image_gallery_destination"))
|
||||||
|
}
|
||||||
|
if c.SharedGalleryDestination.SigDestinationImageName == "" {
|
||||||
|
errs = packer.MultiErrorAppend(errs, fmt.Errorf("An image_name must be specified for shared_image_gallery_destination"))
|
||||||
|
}
|
||||||
|
if c.SharedGalleryDestination.SigDestinationImageVersion == "" {
|
||||||
|
errs = packer.MultiErrorAppend(errs, fmt.Errorf("An image_version must be specified for shared_image_gallery_destination"))
|
||||||
|
}
|
||||||
|
if len(c.SharedGalleryDestination.SigDestinationReplicationRegions) == 0 {
|
||||||
|
errs = packer.MultiErrorAppend(errs, fmt.Errorf("A list of replication_regions must be specified for shared_image_gallery_destination"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if c.ManagedImageOSDiskSnapshotName != "" {
|
if c.ManagedImageOSDiskSnapshotName != "" {
|
||||||
if ok, err := assertManagedImageOSDiskSnapshotName(c.ManagedImageOSDiskSnapshotName, "managed_image_os_disk_snapshot_name"); !ok {
|
if ok, err := assertManagedImageOSDiskSnapshotName(c.ManagedImageOSDiskSnapshotName, "managed_image_os_disk_snapshot_name"); !ok {
|
||||||
errs = packer.MultiErrorAppend(errs, err)
|
errs = packer.MultiErrorAppend(errs, err)
|
||||||
|
|
Loading…
Reference in New Issue