Documentation
¶
Index ¶
- Constants
- func CreateGceImage(opts option.ClientOption, ui packersdk.Ui, project string, rawImageURL string, ...) (packersdk.Artifact, error)
- func CreateShieldedVMStateConfig(imageGuestOsFeatures []string, imagePlatformKey string, ...) (*compute.InitialStateConfig, error)
- func DeleteFromBucket(opts option.ClientOption, ui packersdk.Ui, bucket string, gcsObjectName string) error
- func FillFileContentBuffer(certOrKeyFile string) (*compute.FileContentBuffer, error)
- func UploadToBucket(opts option.ClientOption, ui packersdk.Ui, artifact packersdk.Artifact, ...) (string, error)
- type Artifact
- type Config
- type FlatConfig
- type PostProcessor
Constants ¶
View Source
const BuilderId = "packer.post-processor.googlecompute-import"
Variables ¶
This section is empty.
Functions ¶
func CreateGceImage ¶
func CreateGceImage(opts option.ClientOption, ui packersdk.Ui, project string, rawImageURL string, imageName string, imageDescription string, imageFamily string, imageLabels map[string]string, imageGuestOsFeatures []string, shieldedVMStateConfig *compute.InitialStateConfig, imageStorageLocations []string) (packersdk.Artifact, error)
func DeleteFromBucket ¶
func FillFileContentBuffer ¶
Types ¶
type Config ¶
type Config struct { common.PackerConfig `mapstructure:",squash"` //The JSON file containing your account credentials. //If specified, the account file will take precedence over any `googlecompute` builder authentication method. AccountFile string `mapstructure:"account_file" required:"true"` // This allows service account impersonation as per the [docs](https://cloud.google.com/iam/docs/impersonating-service-accounts). ImpersonateServiceAccount string `mapstructure:"impersonate_service_account" required:"false"` //The project ID where the GCS bucket exists and where the GCE image is stored. ProjectId string `mapstructure:"project_id" required:"true"` IAP bool `mapstructure-to-hcl:",skip"` //The name of the GCS bucket where the raw disk image will be uploaded. Bucket string `mapstructure:"bucket" required:"true"` //The name of the GCS object in `bucket` where //the RAW disk image will be copied for import. This is treated as a //[template engine](/docs/templates/legacy_json_templates/engine). Therefore, you //may use user variables and template functions in this field. Defaults to //`packer-import-{{timestamp}}.tar.gz`. GCSObjectName string `mapstructure:"gcs_object_name"` //The description of the resulting image. ImageDescription string `mapstructure:"image_description"` //The name of the image family to which the resulting image belongs. ImageFamily string `mapstructure:"image_family"` //A list of features to enable on the guest operating system. Applicable only for bootable images. Valid //values are `MULTI_IP_SUBNET`, `UEFI_COMPATIBLE`, //`VIRTIO_SCSI_MULTIQUEUE` and `WINDOWS` currently. ImageGuestOsFeatures []string `mapstructure:"image_guest_os_features"` //Key/value pair labels to apply to the created image. ImageLabels map[string]string `mapstructure:"image_labels"` //The unique name of the resulting image. ImageName string `mapstructure:"image_name" required:"true"` //Specifies a Cloud Storage location, either regional or multi-regional, where image content is to be stored. If not specified, the multi-region location closest to the source is chosen automatically. ImageStorageLocations []string `mapstructure:"image_storage_locations"` //Skip removing the TAR file uploaded to the GCS //bucket after the import process has completed. "true" means that we should //leave it in the GCS bucket, "false" means to clean it out. Defaults to //`false`. SkipClean bool `mapstructure:"skip_clean"` VaultGCPOauthEngine string `mapstructure:"vault_gcp_oauth_engine"` //A key used to establish the trust relationship between the platform owner and the firmware. You may only specify one platform key, and it must be a valid X.509 certificate. ImagePlatformKey string `mapstructure:"image_platform_key"` //A key used to establish a trust relationship between the firmware and the OS. You may specify multiple comma-separated keys for this value. ImageKeyExchangeKey []string `mapstructure:"image_key_exchange_key"` //A database of certificates that have been revoked and will cause the system to stop booting if a boot file is signed with one of them. You may specify single or multiple comma-separated values for this value. ImageSignaturesDB []string `mapstructure:"image_signatures_db"` //A database of certificates that are trusted and can be used to sign boot files. You may specify single or multiple comma-separated values for this value. ImageForbiddenSignaturesDB []string `mapstructure:"image_forbidden_signatures_db"` // contains filtered or unexported fields }
type FlatConfig ¶
type FlatConfig struct { PackerBuildName *string `mapstructure:"packer_build_name" cty:"packer_build_name" hcl:"packer_build_name"` PackerBuilderType *string `mapstructure:"packer_builder_type" cty:"packer_builder_type" hcl:"packer_builder_type"` PackerCoreVersion *string `mapstructure:"packer_core_version" cty:"packer_core_version" hcl:"packer_core_version"` PackerDebug *bool `mapstructure:"packer_debug" cty:"packer_debug" hcl:"packer_debug"` PackerForce *bool `mapstructure:"packer_force" cty:"packer_force" hcl:"packer_force"` PackerOnError *string `mapstructure:"packer_on_error" cty:"packer_on_error" hcl:"packer_on_error"` PackerUserVars map[string]string `mapstructure:"packer_user_variables" cty:"packer_user_variables" hcl:"packer_user_variables"` PackerSensitiveVars []string `mapstructure:"packer_sensitive_variables" cty:"packer_sensitive_variables" hcl:"packer_sensitive_variables"` AccountFile *string `mapstructure:"account_file" required:"true" cty:"account_file" hcl:"account_file"` ImpersonateServiceAccount *string `` /* 127-byte string literal not displayed */ ProjectId *string `mapstructure:"project_id" required:"true" cty:"project_id" hcl:"project_id"` IAP *bool `mapstructure-to-hcl:",skip" cty:"iap" hcl:"iap"` Bucket *string `mapstructure:"bucket" required:"true" cty:"bucket" hcl:"bucket"` GCSObjectName *string `mapstructure:"gcs_object_name" cty:"gcs_object_name" hcl:"gcs_object_name"` ImageDescription *string `mapstructure:"image_description" cty:"image_description" hcl:"image_description"` ImageFamily *string `mapstructure:"image_family" cty:"image_family" hcl:"image_family"` ImageGuestOsFeatures []string `mapstructure:"image_guest_os_features" cty:"image_guest_os_features" hcl:"image_guest_os_features"` ImageLabels map[string]string `mapstructure:"image_labels" cty:"image_labels" hcl:"image_labels"` ImageName *string `mapstructure:"image_name" required:"true" cty:"image_name" hcl:"image_name"` ImageStorageLocations []string `mapstructure:"image_storage_locations" cty:"image_storage_locations" hcl:"image_storage_locations"` SkipClean *bool `mapstructure:"skip_clean" cty:"skip_clean" hcl:"skip_clean"` VaultGCPOauthEngine *string `mapstructure:"vault_gcp_oauth_engine" cty:"vault_gcp_oauth_engine" hcl:"vault_gcp_oauth_engine"` ImagePlatformKey *string `mapstructure:"image_platform_key" cty:"image_platform_key" hcl:"image_platform_key"` ImageKeyExchangeKey []string `mapstructure:"image_key_exchange_key" cty:"image_key_exchange_key" hcl:"image_key_exchange_key"` ImageSignaturesDB []string `mapstructure:"image_signatures_db" cty:"image_signatures_db" hcl:"image_signatures_db"` ImageForbiddenSignaturesDB []string `mapstructure:"image_forbidden_signatures_db" cty:"image_forbidden_signatures_db" hcl:"image_forbidden_signatures_db"` }
FlatConfig is an auto-generated flat version of Config. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type PostProcessor ¶
type PostProcessor struct {
// contains filtered or unexported fields
}
func (*PostProcessor) ConfigSpec ¶
func (p *PostProcessor) ConfigSpec() hcldec.ObjectSpec
func (*PostProcessor) Configure ¶
func (p *PostProcessor) Configure(raws ...interface{}) error
Click to show internal directories.
Click to hide internal directories.