diff --git a/puppet/services/ironic-conductor.yaml b/puppet/services/ironic-conductor.yaml
index 8816f60a7a..a850d4ddb8 100644
--- a/puppet/services/ironic-conductor.yaml
+++ b/puppet/services/ironic-conductor.yaml
@@ -164,6 +164,12 @@ parameters:
     default: false
     description: Whether to enable use of staging drivers.
     type: boolean
+  IronicImageDownloadSource:
+    default: swift
+    description: Image delivery method for the "direct" deploy interface.
+                 Use "swift" for the Object Storage temporary URLs,
+                 use "http" for the local HTTP server (the same as for iPXE).
+    type: string
   IronicIPXEEnabled:
     default: true
     description: Whether to use iPXE instead of PXE for deployment.
@@ -299,6 +305,7 @@ outputs:
               - service_debug
               - 'always'
               - 'on_failure'
+            ironic::drivers::agent::image_download_source: {get_param: IronicImageDownloadSource}
             # NOTE(emilien): ILO defaulting to UEFI does not match other drivers so bios is used.
             ironic::drivers::ilo::default_boot_mode: 'bios'
             ironic::drivers::interfaces::enabled_bios_interfaces: {get_param: IronicEnabledBiosInterfaces}